
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
뒷면에서 앞면으로 뒤집었는데 캘린더 위에 보여야하는 숫자가 안보여

/* 배경 이미지 넣는 코드 3종세트 */
body {
background-image: url("image/bbg.png");
background-size: cover;
background-position: center;
}
body {
background-color: black;
color: white;
font-weight: bold;
}
/* 그리드 설계 */
.grid-1 {
display: grid;
width: 90vw;
max-width: 900px;
margin: 2% auto;
z-index: 1;
grid-template-columns: repeat(3, 1fr);
grid-template-rows: auto;
grid-gap: 25px;
grid-template-areas:
"t t t"
"d23 d20 d12"
"d2 d14 d4"
"d5 d22 d16"
"d1 d7 d9"
"d10 d11 d18"
"d13 d3 d15"
"d6 d17 d8"
"d19 d24 d21";
}
@media only screen and (min-width: 500px) {
.grid-1 {
/* 너비를 기준으로 높이를 계산 */
grid-template-columns: repeat(6, 1fr);
grid-template-areas:
"t t t d2 d7 d8"
"t t t d4 d11 d12"
"t t t d19 d9 d13"
"d6 d1 d24 d24 d21 d20"
"d17 d18 d24 d24 d5 d22"
"d3 d23 d16 d14 d10 d15";
}
}
/* flex 속성 */
.flex-row {
display: flex;
}
.flex-col {
display: flex;
flex-direction: column;
}
.item-baseline {
align-items: baseline;
}
.title {
display: flex;
align-items: baseline;
justify-content: center;
grid-area: t;
}
.title img {
width: 90%;
height: auto;
}
/* 그리드 별 배경 이미지 */
.day-1 {
grid-area: d1;
background: url("image/frame/frame1.png");
background-position: center;
background-size: cover;
}
.day-1 .back {
background-image: url("image/card/card-1.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-2 {
grid-area: d2;
background: url("image/frame/frame2.png");
background-position: center;
background-size: cover;
}
.day-2 .back {
background-image: url("image/card/card-2.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-3 {
grid-area: d3;
background: url("image/frame/frame3.png");
background-position: center;
background-size: cover;
}
.day-3 .back {
background-image: url("image/card/card-3.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-4 {
grid-area: d4;
background: url("image/frame/frame4.png");
background-position: center;
background-size: cover;
}
.day-4 .back {
background-image: url("image/card/card-4.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-5 {
grid-area: d5;
background: url("image/frame/frame5.png");
background-position: center;
background-size: cover;
}
.day-5 .back {
background-image: url("image/card/card-5.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-6 {
grid-area: d6;
background: url("image/frame/frame6.png");
background-position: center;
background-size: cover;
}
.day-6 .back {
background-image: url("image/card/card-6.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-7 {
grid-area: d7;
background: url("image/frame/frame7.png");
background-position: center;
background-size: cover;
}
.day-7 .back {
background-image: url("image/card/card-7.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-8 {
grid-area: d8;
background: url("image/frame/frame8.png");
background-position: center;
background-size: cover;
}
.day-8 .back {
background-image: url("image/card/card-8.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-9 {
grid-area: d9;
background: url("image/frame/frame9.png");
background-position: center;
background-size: cover;
}
.day-9 .back {
background-image: url("image/card/card-9.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-10 {
grid-area: d10;
background: url("image/frame/frame10.png");
background-position: center;
background-size: cover;
}
.day-10 .back {
background-image: url("image/card/card-10.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-11 {
grid-area: d11;
background: url("image/frame/frame11.png");
background-position: center;
background-size: cover;
}
.day-11 .back {
background-image: url("image/card/card-11.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-12 {
grid-area: d12;
background: url("image/frame/frame12.png");
background-position: center;
background-size: cover;
}
.day-12 .back {
background-image: url("image/card/card-12.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-13 {
grid-area: d13;
background: url("image/frame/frame13.png");
background-position: center;
background-size: cover;
}
.day-13 .back {
background-image: url("image/card/card-13.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-14 {
grid-area: d14;
background: url("image/frame/frame14.png");
background-position: center;
background-size: cover;
}
.day-14 .back {
background-image: url("image/card/card-14.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-15 {
grid-area: d15;
background: url("image/frame/frame15.png");
background-position: center;
background-size: cover;
}
.day-15 .back {
background-image: url("image/card/card-15.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-16 {
grid-area: d16;
background: url("image/frame/frame16.png");
background-position: center;
background-size: cover;
}
.day-16 .back {
background-image: url("image/card/card-16.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-17 {
grid-area: d17;
background: url("image/frame/frame17.png");
background-position: center;
background-size: cover;
}
.day-17 .back {
background-image: url("image/card/card-17.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-18 {
grid-area: d18;
background: url("image/frame/frame18.png");
background-position: center;
background-size: cover;
}
.day-18 .back {
background-image: url("image/card/card-18.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-19 {
grid-area: d19;
background: url("image/frame/frame19.png");
background-position: center;
background-size: cover;
}
.day-19 .back {
background-image: url("image/card/card-19.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-20 {
grid-area: d20;
background: url("image/frame/frame20.png");
background-position: center;
background-size: cover;
}
.day-20 .back {
background-image: url("image/card/card-20.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-21 {
grid-area: d21;
background: url("image/frame/frame21.png");
background-position: center;
background-size: cover;
}
.day-21 .back {
background-image: url("image/card/card-21.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-22 {
grid-area: d22;
background: url("image/frame/frame22.png");
background-position: center;
background-size: cover;
}
.day-22 .back {
background-image: url("image/card/card-22.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-23 {
grid-area: d23;
background: url("image/frame/frame23.png");
background-position: center;
background-size: cover;
}
.day-23 .back {
background-image: url("image/card/card-23.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-24 {
grid-area: d24;
background: url("image/frame/frame24.png");
background-position: center;
background-size: cover;
}
.day-24 .back {
background-image: url("image/card/card-24.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
/* door styles */
.grid-1 input {
display: none;
}
label {
perspective: 1000px;
transform-style: preserve-3d;
cursor: pointer;
display: flex;
min-height: 100%;
width: 100%;
height: 120px;
}
/* flex 속성 */
.flex-row {
display: flex;
}
.flex-col {
display: flex;
flex-direction: column;
}
.item-baseline {
align-items: baseline;
}
.title {
display: flex;
align-items: baseline;
justify-content: center;
grid-area: t;
}
.title img {
width: 90%;
height: auto;
}
/* 그리드 별 배경 이미지 */
.day-1 {
grid-area: d1;
background: url("image/frame/frame1.png");
background-position: center;
background-size: cover;
}
.day-1 .back {
background-image: url("image/card/card-1.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-2 {
grid-area: d2;
background: url("image/frame/frame2.png");
background-position: center;
background-size: cover;
}
.day-2 .back {
background-image: url("image/card/card-2.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-3 {
grid-area: d3;
background: url("image/frame/frame3.png");
background-position: center;
background-size: cover;
}
.day-3 .back {
background-image: url("image/card/card-3.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-4 {
grid-area: d4;
background: url("image/frame/frame4.png");
background-position: center;
background-size: cover;
}
.day-4 .back {
background-image: url("image/card/card-4.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-5 {
grid-area: d5;
background: url("image/frame/frame5.png");
background-position: center;
background-size: cover;
}
.day-5 .back {
background-image: url("image/card/card-5.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-6 {
grid-area: d6;
background: url("image/frame/frame6.png");
background-position: center;
background-size: cover;
}
.day-6 .back {
background-image: url("image/card/card-6.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-7 {
grid-area: d7;
background: url("image/frame/frame7.png");
background-position: center;
background-size: cover;
}
.day-7 .back {
background-image: url("image/card/card-7.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-8 {
grid-area: d8;
background: url("image/frame/frame8.png");
background-position: center;
background-size: cover;
}
.day-8 .back {
background-image: url("image/card/card-8.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-9 {
grid-area: d9;
background: url("image/frame/frame9.png");
background-position: center;
background-size: cover;
}
.day-9 .back {
background-image: url("image/card/card-9.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-10 {
grid-area: d10;
background: url("image/frame/frame10.png");
background-position: center;
background-size: cover;
}
.day-10 .back {
background-image: url("image/card/card-10.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-11 {
grid-area: d11;
background: url("image/frame/frame11.png");
background-position: center;
background-size: cover;
}
.day-11 .back {
background-image: url("image/card/card-11.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-12 {
grid-area: d12;
background: url("image/frame/frame12.png");
background-position: center;
background-size: cover;
}
.day-12 .back {
background-image: url("image/card/card-12.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-13 {
grid-area: d13;
background: url("image/frame/frame13.png");
background-position: center;
background-size: cover;
}
.day-13 .back {
background-image: url("image/card/card-13.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-14 {
grid-area: d14;
background: url("image/frame/frame14.png");
background-position: center;
background-size: cover;
}
.day-14 .back {
background-image: url("image/card/card-14.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-15 {
grid-area: d15;
background: url("image/frame/frame15.png");
background-position: center;
background-size: cover;
}
.day-15 .back {
background-image: url("image/card/card-15.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-16 {
grid-area: d16;
background: url("image/frame/frame16.png");
background-position: center;
background-size: cover;
}
.day-16 .back {
background-image: url("image/card/card-16.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-17 {
grid-area: d17;
background: url("image/frame/frame17.png");
background-position: center;
background-size: cover;
}
.day-17 .back {
background-image: url("image/card/card-17.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-18 {
grid-area: d18;
background: url("image/frame/frame18.png");
background-position: center;
background-size: cover;
}
.day-18 .back {
background-image: url("image/card/card-18.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-19 {
grid-area: d19;
background: url("image/frame/frame19.png");
background-position: center;
background-size: cover;
}
.day-19 .back {
background-image: url("image/card/card-19.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-20 {
grid-area: d20;
background: url("image/frame/frame20.png");
background-position: center;
background-size: cover;
}
.day-20 .back {
background-image: url("image/card/card-20.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-21 {
grid-area: d21;
background: url("image/frame/frame21.png");
background-position: center;
background-size: cover;
}
.day-21 .back {
background-image: url("image/card/card-21.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-22 {
grid-area: d22;
background: url("image/frame/frame22.png");
background-position: center;
background-size: cover;
}
.day-22 .back {
background-image: url("image/card/card-22.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-23 {
grid-area: d23;
background: url("image/frame/frame23.png");
background-position: center;
background-size: cover;
}
.day-23 .back {
background-image: url("image/card/card-23.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
.day-24 {
grid-area: d24;
background: url("image/frame/frame24.png");
background-position: center;
background-size: cover;
}
.day-24 .back {
background-image: url("image/card/card-24.png");
background-position: center;
background-size: cover;
border-radius: 10px;
}
/* door styles */
.grid-1 input {
display: none;
}
label {
perspective: 1000px;
transform-style: preserve-3d;
cursor: pointer;
display: flex;
min-height: 100%;
width: 100%;
height: 120px;
}
/* 카드 앞면 */
.door {
width: 100%;
transform-style: preserve-3d;
transition: all 300ms;
border-radius: 10px;
}
.date-num {
position: absolute;
top: 10px;
left: 10px;
color: black;
}
/* 카드 뒷면 */
.door div {
position: absolute;
height: 100%;
width: 100%;
backface-visibility: hidden;
border-radius: 6px;
font-size: 1.2em;
font-weight: bold;
text-shadow: 1px 1px 0 rgb(255, 255, 255, 0.2);
}
:checked+.door {
/* 180을 540으로 수정해보세요! */
transform: rotateY(180deg);
}
/* 확대 및 회전 애니메이션 */
@keyframes zoomAndRotate {
from {
transform: scale(0) rotateY(0deg);
}
to {
transform: scale(1) rotateY(360deg);
}
}
/* 애니메이션 적용 */
.zoomIn {
animation: zoomAndRotate 0.5s ease forwards;
}
.hidden {
visibility: hidden;
}
.modal {
display: flex;
justify-content: center;
align-items: center;
position: fixed;
flex-direction: column;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1000;
}
.modal-content {
width: 340px;
height: 347px;
padding: 20px;
background-color: white;
border-radius: 8px;
text-align: center;
overflow: hidden;
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
