Image Replacement(์ด๋ฏธ์ง ๋์ฒด)์ ์ฝ์์ด๋ค. ๋ฐฑ๊ทธ๋ผ์ด๋์ ๋ฃ์ด์ ์ ๋ณด์ด๋ ์ด๋ฏธ์ง ์คํฌ๋ฆฐ๋ฆฌ๋ ์ฌ์ฉ์์๊ฒ ์ด๋ฏธ์ง์ ๋ํ ์ค๋ช ์ด ํ์ํ ๋, ์ด๋ฏธ์ง๋ฅผ ๋์ฒดํ๋ ํ ์คํธ๋ฅผ ์ ๊ณตํ๋ ๊ธฐ๋ฒ์ด๋ค.
visibility: hidden;
: opacity: 0;
์ฒ๋ผ ํ๋ฉด์์ ์ฌ๋ผ์ง์ง๋ง ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ธ์ํ์ง ๋ชปํ๋ค.display: none;
: ์์๋ฅผ ์์ ์์ ๋ ๊ฒ์ผ๋ก ๋ณด์ด์ง ์๋ ๊ฒ์ ๋ฌผ๋ก ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ธ์ํ์ง๋ ๋ชปํ๋ค.width: 0; height: 0; font-size: 0; line-height: 0;
: : ์์์ ์ฌ์ด์ฆ๋ฅผ 0์ผ๋ก ๋ง๋ค๋ฉด ์คํฌ๋ฆฐ๋ฆฌ๋๊ฐ ์ธ์ํ์ง ๋ชปํ๋ค.opacity: 0;
: ํฌ๋ช
ํด์ ธ์ ๋ณด์ด์ง ์์ง๋ง ๋ ์ด์์์์ ๊ทธ๋๋ก ์๋ฆฌ๋ฅผ ์ฐจ์งํ๊ธฐ ๋๋ฌธ์ ๋ ์ด์์์ ์ํฅ์ ๋ฏธ์น์ง ์๊ฒ ํด์ฃผ๋ ์์ฑ๊ณผ ๊ฐ์ด ์ฌ์ฉํด์ผ ํ๋ค. text-indent: -9999px;
: ์์๋ฅผ ํ๋ฉด ๋ฐ์ผ๋ก -9999px ๋ฐ์ด๋ธ๋ค. ์ ์ฒด ๋ ์ด์ด์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ํฌ๊ฒ ์กํ๋ ์ด์๊ฐ ์๊ธฐ์ง๋ง 100%๋ก ๋ฐ๊พผ๋ค๋ฉด ํผํ ์ ์๋ค๊ณ ํ๋ค.z-index: -1;
: position
๊ณผ ๊ฐ์ด ์ฐ์ฌ์ผ ํ๋ฉฐ, ๋ถ๋ชจ์์์ ๋ฐ์ ๊น๋ฆฌ๊ฒ ํด์ ์ ๋ณด์ด๋๋ก ํ๋ค..ir_pm{
display:block;
overflow:hidden;
Font-size:1px;
line-height:0;
text-indent:-9999px;
}
.ir_pm{
display:block;
overflow:hidden;
font-size:1px;
line-height:0;
color:transparent;
}
.screen_out {
overflow: hidden;
position: absolute;
width: 0;
height: 0;
line-height: 0;
text-indent: -9999px;
}
.ir_wa{
display:block;
overflow:hidden;
position:relative;
z-index:-1;
width:100%;
height:100%
}
.blind {
position: absolute;
clip-path: rect(0, 0, 0, 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
}
๋ถ์คํธ์ฝ์ค ์์์จ๊น์ฒ๋ฆฌ
์น ์ ๊ทผ์ฑ์ ๊ณ ๋ คํ์ฌ ํ
์คํธ ์จ๊ธฐ๊ธฐ
clip
์ด deprecated ๋์ผ๋ฏ๋ก ์ด์ clip-path
๋ฅผ ์ฌ์ฉํด์ผํ๋ค.
clip-path
๋ ๋ง๊ทธ๋๋ก ์์์ ์ผ๋ถ๋ถ์ ์๋ผ๋ด๋(clip) ์์ฑ์ด๋ค.
position: absolute ๋๋ fixed
์ธ ์์์ ์ฌ์ฉ๊ฐ๋ฅํ๋ค.
CSS clip-path maker์์ ์ฌ๋ฌ๊ฐ์ง ๋ณต์กํ ๋ชจ์์ ๊ตฌํํ๋ clip-path
์์ฑ์ ๋ณต์ฌํด์ ์ฌ์ฉํ ์ ์๋ค.
css-tricks clip-path
์ฌ์ด์ฆ๊ฐ ํฐ ์ด๋ฏธ์ง์ ๊ฒฝ์ฐ Kraken๊ณผ ๊ฐ์ ์ฌ์ดํธ๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง ํ์ผ ์์ฒด์ ์ฉ๋์ ์ค์ผ ์ ์๋ค.
์์ด์ฝ๊ณผ ๊ฐ์ ์๊ทธ๋งํ ๋ค์์ ์ด๋ฏธ์ง๋ ํ๋์ ์ด๋ฏธ์ง ํ์ผ์ ๋ชฐ์๋ฃ๋ ๋ฐฉ์์ผ๋ก ์ฝ์คํธ๋ฅผ ์ค์ผ ์ ์๋๋ฐ ์ด๋ ์ฌ์ฉํ๋ ๊ฒ์ด sprite์ด๋ค.
sprite generator์์ ์๋์ ๊ฐ์ด ์์ ์ด๋ฏธ์ง๋ค์ ๋ชจ์๋์ ํ๋์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ ์๋ค.
์ผ์ชฝ์ ์ฝ๋๋ฅผ ๋ณต์ฌํด์ CSS ํ์ผ์ ๋ถ์ฌ๋ฃ์ด์ฃผ๊ณ , ํด๋น ํด๋์ค๋ฅผ HTML์์์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ ๊ฒ ํ๋ฉด width, height
๋ก ํ์ ๋ง๋ค์ด์ sprite ์ด๋ฏธ์ง ์ค ๋ณด์ฌ์ค์ผ ํ๋ ์ด๋ฏธ์ง์ ์์น๋ฅผ background-position
๊ฐ์ผ๋ก ์ฐพ์์ ๋ณด์ฌ์ค๋ค.
๊ฐ์์์์ ๋ฃ์ ๋๋ ์๋์ ๊ฐ์ด ํ๋ฉด ๋๋ค.
.ํด๋์ค๋ช
::before {
content: '';
position: absolute;
width: 56px;
height: 56px;
background-image: url(../images/css_sprites.png);
background-size: 152px;
background-position: -10px -10px;
}
x2์ด๋ฏธ์ง๋ค๋ก sprite๋ฅผ ๋ง๋ค์ด์ ์ค๋นํ๋ค.
๋ฏธ๋์ด์ฟผ๋ฆฌ๋ก ๊ธฐ๊ธฐ์ ์ต์ ํฝ์
๋น๊ฐ 2์ด์์ผ ๋,
x2sprite ํ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ ์ฌ์ด์ฆ๋ ๊ทธ์ ๋ง๊ฒ ๋ฐ๊ฟ์ฃผ๋ฉด ๋๋ค.
@media screen and (webkit-min-device-pixel-ratio: 2) {
background-size์ background-position์ x1์ด๋ฏธ์ง์ ๋ฐ์ ํด๋นํ๋ ๊ฐ์ผ๋ก ์ค๋ค.
}