์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋, ์ฌ๋ฌ ๊ฐ์ ์ด๋ฏธ์ง๋ฅผ ํ๋์ ์ด๋ฏธ์ง๋ก ํฉ์ณ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. HTML์ img ํ๊ทธ๊ฐ ๋ง์์ง๋ฉด ์๋ฒ ์์ฒญ์ด ๋ง์์ ธ ํ์ด์ง ๋ก๋ฉ ์๋๊ฐ ๋๋ ค์ง ์ ์๋ค. ํ์ง๋ง ์ด๋ฏธ์ง ์คํ๋ผ์ดํธ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉด ํ๋์ ์ด๋ฏธ์ง๋ง ๋ค์ด๋ก๋ ๋ฐ์ผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ ๋ก๋ฉ ์๋๊ฐ ํจ์ฌ ๋นจ๋ผ์ง๋ค.
background-image๋ก ์ด๋ฏธ์ง๋ฅผ ๋ฃ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ์์ด์ฝ ๋ฑ ์ค์ํ ๋ด์ฉ์ด ์๋ ์ด๋ฏธ์ง๋ค์ ์ฝ์
ํ ๋ image sprite ๊ธฐ๋ฒ์ ์ฌ์ฉํ๋ค.
image sprite generator์ ์ฌ์ฉํ๊ฑฐ๋ ๊ฐ๋ฐ์๊ฐ ์ง์ ํฌํ ์ต, ํผ๊ทธ๋ง, ์ค์ผ์น ๋ฑ์ ์ฌ์ฉํด ์ด๋ฏธ์ง๋ฅผ ํธ์งํ๋ค.
image sprite generator(์จ๋ผ์ธ ์๋ํฐ)์ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง sprite๋ฅผ ํด๋ณด์.
https://www.toptal.com/developers/css/sprite-generator/
choose files๋ฅผ ํด๋ฆญํ์ฌ ํธ์งํ ์ด๋ฏธ์ง๋ค์ ๋ถ๋ฌ์จ๋ค. ์ผ์ชฝ ์๋จ Padding between elements๋ก padding ๊ฐ์ ์ ํํ ์ ์๊ณ , ์ค๋ฅธ์ชฝ ์๋จ์ Align elements๋ก ์ด๋ฏธ์ง๋ค์ ์ ๋ ฌ ๋ฐฉ๋ฒ์ ์ค์ ํ ์ ์๋ค.
IR ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ image sprite ๊ธฐ๋ฒ์ ์ ์ฉํด๋ณด์.
<section>
<ul>
<li class="aribnb"><a href="#">AirBnB</a></li>
<li class="chrome"><a href="#">Chrome</a></li>
<li class="github"><a href="#">gitHub</a></li>
<li class="discord"><a href="#">Discord</a></li>
<li class="figma"><a href="#">Figma</a></li>
</ul>
</section>
ul {
list-style: none;
position: relative;
}
li {
margin: 10px 0;
}
a {
display: block;
overflow: hidden;
font-size: 1px;
line-height: 0;
text-indent: -9999px;
}
.aribnb {
background: url("sprites.png") no-repeat;
background-position: -10px -10px;
width: 28px;
height: 31px;
}
.chrome {
background: url("sprites.png") no-repeat;
background-position: -58px -10px;
width: 28px;
height: 29px;
}
.github {
background: url("sprites.png") no-repeat;
background-position: -106px -10px;
width: 28px;
height: 28px;
}
.discord {
background: url("sprites.png") no-repeat;
background-position: -10px -61px;
width: 28px;
height: 22px;
}
.figma {
background: url("sprites.png") no-repeat;
background-position: -10px -103px;
width: 19px;
height: 28px;
}
๐IR ๊ธฐ๋ฒ์ด๋, ํ ์คํธ๊ฐ ํ๋ฉด์ ๋ํ๋์ง ์์ง๋ง ์คํฌ๋ฆฐ๋ฆฌ๋๋ ๋ธ๋ผ์ฐ์ ๋ฅผ ์ํด ์ด๋ฏธ์ง์ ๋์ฒดํ ์คํธ๋ฅผ ์ ๊ณตํ๋ CSS ๊ธฐ๋ฒ์ด๋ค.
a ํ๊ทธ์ ํ
์คํธ๋ค์ text-indent: -9999px
๋ก ์ค์ ํด ํ๋ฉด ๋ฐ์ผ๋ก ๋นผ๋ด์ฃผ์ด ๋ณด์ด์ง ์๋๋ก ์ค์ ํ์๋ค.
background
์์ฑ์ผ๋ก sprite ์ด๋ฏธ์ง๋ฅผ ๋ถ๋ฌ์ค๊ณ , image sprite generator ์ ๋ช
์๋ ์ขํ๊ฐ๋ค์ background-position
๊ฐ์ผ๋ก ์
๋ ฅํ๋ค. ๊ฐ ์ด๋ฏธ์ง๋ค์ ์๋ณธ width, height
๊ฐ์ ์
๋ ฅํ๋ค.
IR ๊ธฐ๋ฒ์ผ๋ก a ํ๊ทธ๋ค์ ํ ์คํธ๊ฐ ๋ณด์ด์ง ์๊ณ , image sprite ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ํ๋์ ์ด๋ฏธ์ง๋ก ๊ฐ๊ฐ์ ์ด๋ฏธ์ง ํํ์ด ๊ฐ๋ฅํด์ง ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ํฌ๋!!!!!!๐ถ๐ถ
์ด๋ฏธ์ง ์คํ๋ผ์ดํธ ์ ๋ฆฌ๋ฅผ ์ด๋ ๊ฒ ์ํด๋์๋ค๋!! ์ผ๋ฅธ ์ธ์ ์ฌ๋๋คํํ ์๋ ค์ผ ๋ฉ๋๋ค..
์ ๋ง ๋ณด๊ธฐ ์๊น์์!!๐๐