CSS / Tutorial / 마우스 호버 효과 / 다른 이미지 보여주는 방법
이미지에 마우스를 올렸을 때 다른 이미지가 나타나는 효과를 CSS로 만들어보겠습니다.
display 속성 이용하기
- 다음과 같이 이미지 두 개를 넣고 div로 감쌉니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
h1 {
text-align: center;
}
img {
max-width: 100%;
}
.jb-a {
width: 400px;
margin: 0px auto;
}
</style>
</head>
<body>
<h1>Hover Effect</h1>
<div class="jb-a">
<img src="images/image-01.jpg" alt="" class="jb-b">
<img src="images/image-02.jpg" alt="" class="jb-c">
</div>
</body>
</html>

- position 속성을 이용해서 두 이미지가 겹치게 만듭니다.
.jb-a {
width: 400px;
margin: 0px auto;
position: relative
}
.jb-c {
position: absolute;
top: 0px;
left: 0px;
}

- 두 번째 이미지를 보이지 않게 한 후, 마우스를 올렸을 때 나타나도록 합니다.
.jb-c {
position: absolute;
top: 0px;
left: 0px;
display: none;
}
.jb-a:hover .jb-c {
display: block;
}

- 전체 코드는 다음과 같습니다.
<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<title>CSS</title>
<style>
body {
box-sizing: border-box;
font-family: Consolas, monospace;
}
h1 {
text-align: center;
}
img {
max-width: 100%;
}
.jb-a {
width: 400px;
margin: 0px auto;
position: relative
}
.jb-c {
position: absolute;
top: 0px;
left: 0px;
display: none;
}
.jb-a:hover .jb-c {
display: block;
}
</style>
</head>
<body>
<h1>Hover Effect</h1>
<div class="jb-a">
<img src="images/image-01.jpg" alt="" class="jb-b">
<img src="images/image-02.jpg" alt="" class="jb-c">
</div>
</body>
</html>
opacity 속성 이용하기
- display 속성을 이용하면 이미지가 바로 바뀝니다. 만약 서서히 나타나고 사라지는 효과를 주고 싶다면 opacity 속성을 사용합니다.
.jb-c {
position: absolute;
top: 0px;
left: 0px;
opacity: 0;
transition: opacity 0.5s linear;
}
.jb-a:hover .jb-c {
opacity: 1;
}










