728x90
반응형
html 골격만들기
클래스에 이름을 공통으로 쓰기 위해서는 클래스에 이름을 2개로 사용해줌
figure 태그로 이미지 앞면, 뒷면의 태그를 넣어준다.
css에서 효과는 똑같으니까 effect이름으로 스타일을 넣어준다.
● >표시는 바로밑에 자식에게 사용해야한다.
figure 피그캡션 수정하기
_효과주기
left / right 각각 front,back 효과를 주어야한다.
hover 시 효과 넣어주기
> html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>마우스오버효과</title>
<link rel="stylesheet" href="./css/style.css">
</head>
<body>
<div id="wrap">
<div class="left effect">
<figure class="front">
<img src="./img/img01.png" alt="거실이미지">
<figcaption>
<h3>왼쪽이미지 앞면</h3>
</figcaption>
</figure>
<figure class="back">
<img src="./img/img02.png" alt="거실이미지2">
<figcaption>
<h3>왼쪽이미지 뒷면</h3>
</figcaption>
</figure>
</div>
<div class="right effect">
<figure class="front">
<img src="./img/img03.png" alt="식물이미지">
<figcaption>
<h3>오른쪽이미지 앞면</h3>
</figcaption>
</figure>
<figure class="back">
<img src="./img/img04.png" alt="식물이미지2">
<figcaption>
<h3>오른쪽이미지 뒷면</h3>
</figcaption>
</figure>
</div>
</div>
</body>
</html>
> css
@charset "utf-8";
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
img{
display: block;
}
body{
height: 100vh;
background-color: #0f2027;
/* 배경색은 body에 넣어줌 */
}
#wrap{
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
#wrap .effect{
width: 400px;
height: 300px;
margin: 10px;
position: relative;
/* .front, .back의 기준점 */
}
/* effect라는 공통된 이름을 사용하여 한번에 효과를 써준다, */
#wrap .effect img{
width: 100%;
/* 이미지가 100%에 맞는 사이즈가 나온다. */
}
#wrap .effect .front{
position: absolute;
left: 0;
top: 0;
z-index: 10;
/* display: none; */
}
#wrap .effect .back{
position: absolute;
left: 0;
top: 0;
z-index: 9;
}
/* effect(클래스)이름을 사용하여 left,right의 효과를 동시에 편집할 수있다 */
/* figcaption의 공통된 상위 태그가 figure이므로 figure를 넣어줌 */
#wrap .effect figure figcaption{
background-color: rgba(255,255,255,0.6);
padding: 20px;
/* 박스 안쪽 여백 */
text-align: center;
position: absolute;
left: 0;
bottom: 0;
width: 100%;
/* position을 띄우면 너비값을 잃기 때문에 width값을 넣어준다. */
}
#wrap .effect figure figcaption h3{
font-size: 24px;
}
/* 왼쪽이미지 효과주기 */
#wrap .left .front{
transform: rotateX(0deg);
transition: all 0.7s;
backface-visibility: hidden;
}
#wrap .left:hover .front{
transform: rotateX(180deg);
}
#wrap .left .back{
transform: rotateX(180deg);
transition: all 0.7s;
backface-visibility: hidden;
}
#wrap .left:hover .back{
transform: rotateX(0deg);
}
/* 오른쪽이미지 효과주기 */
#wrap .right .front{
transform: rotateY(0deg);
transition: all 1s;
backface-visibility: hidden;
}
#wrap .right:hover .front{
transform: rotateY(180deg);
}
#wrap .right .back{
transform: rotateY(180deg);
transition: all 1s;
backface-visibility: hidden;
}
#wrap .right:hover .back{
transform: rotateY(0deg);
}
728x90
반응형
'☭DEVELOPER > #2 웹개발(자바기반 풀스택)' 카테고리의 다른 글
비주얼 스튜디오 코드 31_ 상하 / 좌우 슬라이드 배너 (0) | 2023.06.14 |
---|---|
비주얼 스튜디오 코드 30 _ 마우스오버 효과 ⑤ (0) | 2023.06.14 |
비주얼 스튜디오 코드 28_ 상하 슬라이드 배너 만들기 (0) | 2023.06.13 |
비주얼 스튜디오 코드 27_ 태그 명령 줄여서 쓰기 , 반응형 (0) | 2023.06.13 |
비주얼 스튜디오 코드 26 _ 마우스오버 효과④ (0) | 2023.06.13 |