<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<!-- reset.css destyle -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/destyle.css@1.0.15/destyle.css" />
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="container">
<div class="c-calender">
<div class="c-calender__header">
<span class="arrow-right"></span>
<p>2024年3月</p>
<span class="arrow-left"></span>
</div>
<div class="c-calender__day grid">
<span class="sun">日</span>
<span>月</span>
<span>火</span>
<span>水</span>
<span>木</span>
<span>金</span>
<span class="sat">土</span>
</div>
<div class="c-calender__date grid">
<span></span>
<span></span>
<span></span>
<span></span>
<span></span>
<span>1</span>
<span class="full">2</span>
<span>3</span>
<span>4</span>
<span>5</span>
<span>6</span>
<span>7</span>
<span class="full">8</span>
<span>9</span>
<span>10</span>
<span>11</span>
<span>12</span>
<span>13</span>
<span class="full">14</span>
<span class="full">15</span>
<span>16</span>
<span>17</span>
<span>18</span>
<span class="full">19</span>
<span>20</span>
<span>21</span>
<span class="full">22</span>
<span>23</span>
<span>24</span>
<span>25</span>
<span class="full">26</span>
<span>27</span>
<span>28</span>
<span>29</span>
<span>30</span>
<span>31</span>
</div>
</div>
</div>
</body>
</html>
@mixin sp {
@media screen and (max-width: 768px) {
@content;
}
}
html {
font-size: calc(10 / 1366 * 100vw);
@include sp {
font-size: calc(14 / 768 * 100vw);
}
}
body {
font-size: 1.6rem;
background-color: #fff;
}
h2 {
font-size: 2.4rem;
width: 100%;
text-align: center;
font-weight: bold;
margin: 3rem 0;
}
.grid{
display: grid;
}
.container {
width: calc(100vw - 10rem);
margin: 0 auto;
margin-top: 3rem;
@include sp{
width: calc(100vw - 5rem);
}
}
.c-calender{
width: 70%;
margin: 0 auto;
padding: 2rem;
&__header{
width: 100%;
position: relative;
padding: 1.5rem 0;
span{
width: 2rem;
height: 2rem;
border-top: 0.5rem solid #333;
border-right: 0.5rem solid transparent;
border-left: 0.5rem solid #333;
border-bottom: 0.5rem solid transparent;
position: absolute;
top: 2rem;
}
.arrow{
&-right{
transform: rotate(135deg);
right: 5rem;
}
&-left{
transform: rotate(-45deg);
left: 5rem;
}
}
p{
width: 100%;
text-align: center;
font-size: 2.4rem;
font-weight: bold;
}
}
&__day{
height: 6rem;
grid-template-columns: repeat(7, 1fr);
align-content: center;
border-bottom: 0.5px solid #ccc;
span{
display: block;
text-align: center;
font-size: 2rem;
font-weight: bold;
}
.sun{
color: red;
}
.sat{
color: blue;
}
}
&__date{
grid-template-columns: repeat(7, 1fr);
grid-auto-rows: 8rem;
gap: 0.3rem;
margin-top: 3rem;
span{
display: block;
text-align: center;
font-size: 1.8rem;
font-weight: bold;
padding: 1rem;
&:not(:empty){
border: 2px solid #ccc;
&:not(.full):hover{
background-color: #FEE104;
}
}
&:nth-child(7n){
color: blue;
}
&:nth-child(7n+1){
color: red;
}
}
.full{
background-color: #ccc;
}
}
}
View Compiled
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.