๋ฉ๋ด๋ฅผ hover ํ์ ๋ ์๋์์ underline์ด ๊ฐ์ด๋ฐ๋ถํฐ ์ด๋ฆฌ๋ ๋ชจ์ ์ ๊ตฌํํด ๋ณด๊ณ ์ถ์ด์ ๋ง๋ค์ด๋ดค์ต๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๋ชจ์ ์ ๋๋ค. ๐
ํด๋น ๋ชจ์ ์ border ๋ text-decoration ์ผ๋ก๋ ๊ตฌํํ ์์๊ณ , a ํ๊ทธ์ :after๋ฅผ ์ฌ์ฉํ์ฌ ๋ง๋ค์์ต๋๋ค.
<div class="wrap">
<a href="#">HOME</a>
<a href="#">ABOUT</a>
<a href="#">Q&A</a>
</div>
๋จผ์ ๋งํฌ์ ์ ๊ฐ๋จํฉ๋๋ค. ์ด์ฐจํผ :after ๋ฅผ ์ฌ์ฉํ ๊บผ๋ผ ๋ณ๋ค๋ฅธ ํ๊ทธ๊ฐ ์ถ๊ฐ๋ก ํ์ํ์ง ์์ต๋๋ค.
๋จผ์ a:after ์ absolute ์์ฑ์ ์ฃผ์ด a ๋ณด๋ค ์๋์ ์์น์์ผ์ค๋๋ค.
๊ทธ๋ฆฌ๊ณ transform์ scale์ ์ฌ์ฉ ํ๋๊ฒ ํต์ฌ์ ๋๋ค.
scale ์์ฑ์ ํ์ฌ์ element๋ฅผ ํ๋ ์์ผ์ฃผ๋ ๊ธฐ๋ฅ์ ํฉ๋๋ค.
.wrap {
padding: 15px;
}
.wrap > a {
position: relative;
display:inline-block;
color: #000;
text-decoration: none;
font-weight: bold;
margin-right: 15px;
}
.wrap > a:after {
content: "";
position: absolute;
width: 100%;
height: 8px;
bottom: -6px;
left: 0;
background-color: #dc6b6b;
visibility: hidden;
transform: scaleX(0);
transition: all 0.3s ease-in-out;
}
์์ ์ฝ๋๋ฅผ ๋ณด๋ฉด a:after ์ width๊ฐ 100%์ง๋ง, scaleX์ ๊ฐ์ด 0 ์ด๋ฏ๋ก ๋ณด์ด์ง ์์ต๋๋ค.
๊ฐ๋ก๋ก ์ชผ๊ทธ๋ผ๋ค์๋ค๊ณ ์๊ฐํ์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ผ a๋ฅผ hover ํ์๋ ์ข์ฐ๋ก ๋๋ ค์ฃผ๋ ค๋ฉด, ์๋ ์ฌ์ด์ฆ์ธ 100%๋ก ๋๋ ค์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ scale ๊ฐ์ 1๋ก ํด์ฃผ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ฌ๋ฉด ์๋ 100%์ ์ฌ์ด์ฆ๋ก ๋์์ต๋๋ค.
.wrap > a:hover {
color: #dc6b6b;
}
.wrap > a:hover:after {
visibility: visible;
transform: scaleX(1);
}
์ด๋ ๊ฒ ํ๋ฉด ๋์ ๋๋ค.
ํด๋น ๋ชจ์ ์ underline ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒ ์ธ์๋ ๋ค์ํ๊ฒ ์ฌ์ฉ์ด ๊ฐ๋ฅํด ๋ณด์ ๋๋ค.
์ฐธ๊ณ ๋ก scale ์ ํ์ธํด ๋ณด๋ IE9 ์ดํ๋ ๋์์ด ์๋๋๋ผ๊ณ ์. ์ฐธ๊ณ ํ์ธ์!
'๊ฐ๋ฐ ๐พ > HTML,CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
select ํ๊ทธ ์ปค์คํ ํ๊ธฐ, ํน์ ์ง์ ๋ง๋ค๊ธฐ (feat. javascript) (8) | 2021.06.18 |
---|---|
input search x ๋ฒํผ ์ญ์ ๋ฐ ํด๋ฆฌ์ด ๋ฒํผ ์ง์ ๋ง๋ค์ด ๋ฃ๊ธฐ (0) | 2021.06.15 |
์ฒดํฌ๋ฐ์ค CSS ์ปค์คํ (0) | 2021.06.06 |
CSS ํจํด ์ด์ผ๊ธฐ - BEM, SMACSS, OOCSS (0) | 2021.02.07 |
์์ฃผ์ฐ๋ css ์ ๋ฆฌ (0) | 2021.02.05 |