์ด๋ฏธ์ง ์คํ๋ผ์ดํธ(Image Sprite)
์ค๋์ ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ๊ธฐ๋ฒ์ ๋ํ์ฌ ์์๋ณด๊ฒ ์ต๋๋ค.
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋?
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋, ์ฌ๋ฌ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ์ด๋ฏธ์ง๋ก ํฉ์ณ์ ๊ด๋ฆฌํ๋ ์ด๋ฏธ์ง๋ฅผ ์๋ฏธํฉ๋๋ค. ์น ํ์ด์ง์ ์ด๋ฏธ์ง๊ฐ ์ฌ์ฉ๋ ๊ฒฝ์ฐ ํด๋น ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๊ธฐ ์ํด ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ์ด๋ฏธ์ง๋ฅผ ์์ฒญํ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ฌ์ฉ๋ ์ด๋ฏธ์ง๊ฐ ๋ง์ ๊ฒฝ์ฐ ์น ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์ ํด๋น ์ด๋ฏธ์ง์ ์๋งํผ ์์ฒญํด์ผ๋ง ํ๋ฏ๋ก ์น ํ์ด์ง์ ๋ก๋ฉ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ฒ ๋ฉ๋๋ค. ์ด๋ด ๋, ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ๊ธฐ ์ํ ์๋ฒ ์์ฒญ์ ๋จ ๋ช ๋ฒ์ผ๋ก ์ค์ผ ์ ์์ต๋๋ค. ๋ํ, ๋ง์ ์ด๋ฏธ์ง ํ์ผ์ ๊ด๋ฆฌํ๋ ๋์ ๋ช ๊ฐ์ ์คํ๋ผ์ดํธ ์ด๋ฏธ์ง ํ์ผ๋ง์ ๊ด๋ฆฌํ๋ฉด ๋๋ฏ๋ก, ๋งค์ฐ ๊ฐํธํฉ๋๋ค.
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ๋ง๋ค๊ธฐ
figma๋ฅผ ์ฌ์ฉํ์ฌ ๋ค์๊ณผ ๊ฐ์ด ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋ฅผ ๋ง๋ค์์ต๋๋ค.
ํ ์นธ๋น 50px ๊ฐ๊ฒฉ์ผ๋ก ์ค์๋ฅผ ์ด์ฉํ์ฌ ์นธ์ ๊ตฌ๋ถํด ์ฃผ์๊ณ , ํ ์นธ์ ํ๋์ฉ ๊ฐ๋ก, ์ธ๋ก 36px์ ์์ด์ฝ์ ์์ ํด ์ฃผ์์ต๋๋ค. ์ด ๋, ์์ด์ฝ๋ค์ ์์น๋ ๊ฐ ์นธ์ ์ข์ธก ์๋จ์ ๋ง์ถ์ด ์ฃผ์ด์ผ ํฉ๋๋ค. ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ์์ ์ ๋ง์น๋ฉด, svg ํ์ผ๋ก ์ถ์ถํด ์ค๋๋ค.
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ์ฝ์ ํ๊ธฐ
๋ค์๊ณผ ๊ฐ์ด ์ฝ๋ฉํ ์ด๋ฏธ์ง ์์ ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋ฅผ ์ฝ์ ํด ๋ณด๊ฒ ์ต๋๋ค.
<div class="image">
<div class="image__sns">
<a href="#" class="link"><span class="ir">ํ์ด์ค๋ถ</span></a>
<a href="#" class="link"><span class="ir">ํธ์ํฐ</span></a>
<a href="#" class="link"><span class="ir">์ธ์คํ๊ทธ๋จ</span></a>
<a href="#" class="link"><span class="ir">์ ํ๋ธ</span></a>
<a href="#" class="link"><span class="ir">๋งํฌ</span></a>
</div>
</div>

.image {
background: url(img.jpg);
background-size: cover;
width: 500px;
height: 300px;
position: relative;
}
.image__sns {
position: absolute;
top: 10px;
right: 10px;
}
.image__sns a {
width: 36px;
height: 36px;
margin-bottom: 5px;
background: #fff;
border-radius: 50%;
display: block;
// ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ๊ธฐ๋ฒ
background: url(icon.svg) no-repeat; // ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฐฉ์์ผ๋ก ์ด๋ฏธ์ง ์ฝ์
}
.image__sns a:nth-child(2) {
background-position: -50px 0; // ์ด๋ฏธ์ง๊ฐ ๋ณด์ฌ์ง๋ ์์น ์กฐ์
}
.image__sns a:nth-child(3) {
background-position: -100px 0;
}
.image__sns a:nth-child(4) {
background-position: -150px 0;
}
.image__sns a:nth-child(5) {
background-position: -200px 0;
}
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ๊ธฐ๋ฒ์ ์ฌ์ฉํ ๋๋, ์ด๋ฏธ์ง๋ฅผ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ฐฉ์์ผ๋ก ์ฝ์ ํด์ผ ํฉ๋๋ค. ๊ฐ ์นธ์ ๊ฐ๊ฒฉ์ 50px๋ก ์์ ํด ์ฃผ์๊ธฐ ๋๋ฌธ์, x์ถ์ ๊ฐ์ 50px์ฉ ์กฐ์ ํ์ฌ ์ด๋ฏธ์ง๊ฐ ๋ณด์ฌ์ง๋ ์์น๋ฅผ ์กฐ์ ํด ์ค๋๋ค. ๊ฒฐ๊ณผ ํ๋ฉด์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.

ir ํจ๊ณผ
๊ทธ๋ฐ๋ฐ, HTML์์ ์์ฑํ๋ "ํ์ด์ค๋ถ", "ํธ์ํฐ", "์ธ์คํ๊ทธ๋จ" ๋ฑ์ ๋ฌธ์๋ ํ๋ฉด์ ๋ํ๋์ง ์์์ ๋ณผ ์ ์์ต๋๋ค. ์ด๊ฒ์ ir ํจ๊ณผ๋ฅผ ์ ์ฉํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
ir ํจ๊ณผ๋ ์น ์ ๊ทผ์ฑ์ ์ค์ํ๊ธฐ ์ํ ๊ฒ์ผ๋ก, ์ด๋ฏธ์ง์ ํ ์คํธ๋ฅผ ์ค์ ํ๊ณ ๋ณด์ด์ง ์๋๋ก ์์ ํด์ค ๊ฒ์ ๋๋ค. ํ ์คํธ๋ ๋ฆฌ๋๊ธฐ๋ก ์ฝ์ด์ค ์ ์์ง๋ง, ์ด๋ฏธ์ง๋ ์ฝ์ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ฝ๊ฒ ๋งํด, ir ํจ๊ณผ๋ ์ด๋ฏธ์ง ๋์ฒด ํ ์คํธ ์ ๊ณต์ ์ํ CSS ๊ธฐ๋ฒ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค.
ir ํจ๊ณผ์ ์ ์ฉ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
.ir {
display: block;
overflow: hidden;
font-size: 0;
line-height: 0;
text-indent: -9999px;
}
'CSS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS : ์์ ํํ ๋ฐฉ๋ฒ (6) | 2022.08.23 |
---|---|
CSS : ๋จ์ (5) | 2022.08.23 |
CSS : SCSS ์์๋ณด๊ธฐ (10) | 2022.08.18 |
CSS : ์ ๋๋ฉ์ด์ ๋ง๋ค๊ธฐ : ๊ผฌ๋ฆฌ๋ฅผ ํ๋๋ ๊ฐ์์ง (9) | 2022.08.18 |
CSS : ๋ฏธ๋์ด์ฟผ๋ฆฌ(media query) (5) | 2022.08.15 |
๋๊ธ