์ค๋์ ์น์ ๊ทผ์ฑ๊ณผ ๊ด๋ จ๋ ์ฃผ์ ๋ฅผ ์กฐ๊ธ ๋ค๋ฃจ์ด๋ณด๋ ค๊ณ ํ๋ค.
์น์ ๊ทผ์ฑ์ ์ํ IR๊ธฐ๋ฒ
์ด๋ค.
์๋ง IR๊ธฐ๋ฒ์ ๋ํด์๋ ์ ๊ฒ์๋ฌผ์ ํ๋ฒ ์ธ๊ธ์ ํ์๋ ๊ฑธ๋ก ๊ธฐ์ตํ๊ณ ์๋ค. ํ์ง๋ง ๋จ๋ ์ผ๋ก ๋ค๋ฃจ์ง ์์๊ธฐ ๋๋ฌธ์ ์ด๋ฒ์ ์ ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ๋ค.
IR์ Image Replacement
์ ์ฝ์๋ก, ์ด๋ฏธ์ง์ ๋์ฒด ํ
์คํธ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํ CSS ๊ธฐ๋ฒ์ด๋ค.
์ด๋ฏธ์ง์ ๋์ฒด ํ
์คํธ๋ ์๋์ฒ๋ผ <img>
ํ๊ทธ์ alt
์์ฑ์ ์ด์ฉํ์ฌ ์ ์ฉํ๋ค.
<img src="images/image1.png" alt="์ด๋ฏธ์ง ๋์ฒด ํ
์คํธ">
๋ง์ฝ ์ด๋ฏธ์ง ํ์ผ์ ๊ฒฝ๋ก๊ฐ ์๋ชป๋์๊ฑฐ๋ ํ์ผ์ด ์์ ๋๋ ์ญ์ ๋์๋ค๊ณ ํ๋ฉด ์ด๋ฏธ์ง๋ฅผ ์ถ๋ ฅํ์ง ๋ชปํ๊ณ ์๋์ฒ๋ผ alt
์์ฑ์ ๊ฐ์ ์ถ๋ ฅํด์ค๋ค.
<img src="images/image1.png" alt="๊ฑด๋ฌผ"/>
ํ์ง๋ง, ์ฐ๋ฆฌ๊ฐ ์์ ๊ฒ์๋ฌผ์์ ๋ค๋ฃฌ "Image Sprite ๊ธฐ๋ฒ"์ฒ๋ผ CSS์์ background
์์ฑ์ ์ฌ์ฉํ์ฌ ์ฝ์
ํ๋ ์ด๋ฏธ์ง๋ ๋์ฒด ํ
์คํธ๋ฅผ ๋ฃ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ค.
๊ทธ๋ด ๋, IR๊ธฐ๋ฒ
์ ์ด์ฉํ์ฌ ๋์ฒด ํ
์คํธ๋ฅผ ์ ์ฉ์ํค๋ฉด ์ด๋ค ์ด๋ฏธ์ง์ธ์ง ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์๋ค.
์ด ๊ธฐ๋ฒ์ "์น ์ ๊ทผ์ฑ"๊ณผ ๊ด๋ จ์ด ์๋ ์ด์ ์ด๋ค. ๋น์ฅ์ ์ธ ๊ฐ์ ๊ฒฝ์ฐ ์ด๋ฏธ์ง๋ฅผ ๋ณด๊ณ ์์ด์ฝ์ด๋ ์ด๋ฏธ์ง๊ฐ ์ด๋ค ์ด๋ฏธ์ง์ธ์ง ์ดํด๊ฐ ๊ฐ๋ฅํ๋ค. ๊ทธ๋์ ๊ตณ์ด ๋์ฒด ํ ์คํธ๋ ํ์๊ฐ ์๋ค.
ํ์ง๋ง ์๊ฐ์ฅ์ ์ธ์ ๊ฒฝ์ฐ background
์์ฑ์ผ๋ก ์ฝ์
๋ ์ด๋ฏธ์ง๊ฐ ์ด๋ค ์๋ฏธ์ธ์ง ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ๋ฐ์ ์๋ค.
๊ทธ๋์ IR๊ธฐ๋ฒ
์ ๋น์ฅ์ ์ธ์๊ฒ๋ ๋์ฒด ํ
์คํธ๋ฅผ ๋ณด์ฌ์ฃผ์ง ์๊ฒ ์จ๊ฒจ์ฃผ๋ฉฐ ์๊ฐ์ฅ์ ์ธ์ ๊ฒฝ์ฐ์ ํ
์คํธ๋ ํ๋ฉด ์์ ์์ง๋ง ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ๊ฐ ์ฝ์ ์ ์๊ฒ ํ๋ ๋ฐฉ๋ฒ์ด๋ค.
์ด IR๊ธฐ๋ฒ
์ ์ฌ์ฉํ ๋ ์กฐ๊ฑด์ "๋น์ฅ์ ์ธ์ด ์น์ ์ด์ฉํ ๋ ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ๊ฐ ๋์ฒด ํ
์คํธ๋ฅผ ์ธ์ํ๊ณ ์ฝ์ด์ฃผ๋ ๊ฒ"์ผ๋ก ๊ธฐ์ค์ ์ก์ผ๋ฉด ๋๋ค.
์ฐ์ ์ฌ์ฉํ์ง ๋ง์์ผํ๋ ๋ฐฉ๋ฒ ๋จผ์ ์ ๋ฆฌํ๊ฒ ๋ค.
<style>
.hidden {
display:hidden
}
</style>
display:none
์ ํ๋ฉด ๋ด์๋ ์๋ฆฌ๋ฅผ ์ฐจ์งํ์ง ์๊ณ ์ถ๋ ฅ์ ํ์ง์์ผ๋ฉฐ(DOMํธ๋ฆฌ์์ ์ ์ธ) ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ๋ ์ธ์ํ์ง ๋ชปํด ์ฝ์ด์ฃผ์ง ์๋๋ค.
<style>
.hidden {
width: 0;
height: 0;
font-size: 0;
line-height: 0;
}
</style>
์์ฒ๋ผ ํฌ๊ธฐ์ ๊ด๋ จ๋ ์์ฑ์ ๊ฐ์ 0
์ผ๋ก ์ฒ๋ฆฌํ๊ฒ ๋๋ค๋ฉด ์์ ๊ฒฐ๊ณผ์ ๋์ผํ๋ค.
<style>
.hidden {
visibility: hidden;
}
</style>
๊ฐ์์ฑ
์ ์๋ฏธํ๋ visibility
์์ฑ์ ๊ฐ์ hidden
์ผ๋ก ์ฃผ๋ฉด ํ๋ฉด์ ์ถ๋ ฅ๋์ง ์๊ณ ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ ๋ํ ์ฝ์ง ๋ชปํ๋ค.
๊ทธ๋์ ์์์ ๋งํ๋ ๊ฒ์ฒ๋ผ "๋น์ฅ์ ์ธ์ด ์น์ ์ด์ฉํ ๋ ์คํฌ๋ฆฐ ๋ฆฌ๋๊ธฐ๊ฐ ๋์ฒด ํ ์คํธ๋ฅผ ์ธ์ํ๊ณ ์ฝ์ด์ฃผ๋ ๊ฒ"์ ๋ชฉํ๋ก ์ก๋๋ฐ ์๋์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ๋๋ค.
<style>
.hidden{
opacity: 0;
}
</style>
opacity
์์ฑ์ ํตํด ์์์ ํฌ๋ช
๋๋ฅผ ์ฃผ๋ฉด ์๋ฆฌ๋ฅผ ์ฐจ์งํ๋ฉด์ ๋จ๋
์ผ๋ก๋ ์ฌ์ฉ์ด ๋ถ๊ฐ๋ฅํ๋ค.
position
์ ํจ๊ป ์ฌ์ฉํด์ normal-flow
์์ ๋ฒ์ด๋๊ฒ ํ๋ฉด ๋์ง ์์๊น ์ถ๋ค.
<style>
.hidden{
text-indent: -9999px;
}
</style>
text-intent
๋ฅผ ์์๋ก ํฐ ์๋ก ์ฃผ๋ฉด ํ๋ฉด๋ฐ์ผ๋ก ํ
์คํธ๊ฐ ๋๊ฐ๊ฒ ๋๋ค. ํ์ง๋ง ์ด๋ด ๊ฒฝ์ฐ ์ ์ฒด์ ์ธ ๋ ์ด์์ ํฌ๊ธฐ๊ฐ ๋์ด๋๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ผ๋ก ์ด์๊ฐ ์์ ์ ์๋ค.
๐ก ์ฑ๋ฅ์ ์ผ๋ก ์ด์๊ฐ ์๋ค๊ณ ํ์ง๋ง ๊ฐ์ฌ๋๊ป์๋ ๊ทธ๋ ๊ฒ ๋ง์ด ์ฑ๋ฅ ์ด์๊ฐ ์๋ค๊ณค ํ์ง ์์ผ์ จ๋ค.
์ด ๋ฐฉ์์ '๋ค์'์์ .screen_out
์ด๋ผ๋ ํด๋์ค๋ก ์ฌ์ฉ ์ค์ด๋ค.
<style>
.hidden{
position:relative;
z-index: -1;
}
</style>
ํ
์คํธ๋ฅผ z-index
์ ๊ฐ์ -1
๋ฅผ ์ฌ์ฉํ์ฌ ์ด๋ฏธ์ง์ ๋ทํธ์ผ๋ก ๋ณด๋ด๋ ๋ฐฉ๋ฒ์ด์ง๋ง, ์ฌ์ฉํ ๋๋ง๋ค position
์ ๊ฐ์ด ์ฌ์ฉํด์ผํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ ์ธ ์ด์๊ฐ ๋ฐ์ํ๋ค.
<style>
.hidden{
position:absolute;
overflow:hidden;
width:1px;
height:1px;
margin:-1px;
clip:rect(0,0,0,0);
}
</style>
์ถ๊ฐ์ ์ธ ํ๊ทธ๊ฐ ์์ง๋ง ์ด๊ฒ๋ง ์
๋ ฅํด๋ ์ถฉ๋ถํ ์คํฌ๋ฆฐ ๋ฆฌ๋๊ฐ ์ฝ์ ์ ์๋ค.
์๋ํ๋ฉด width
์ height
๊ฐ 0
์ด ์๋ 1
์ด๊ธฐ ๋๋ฌธ์ ์คํฌ๋ฆฐ ๋ฆฌ๋๊ฐ ์ธ์ํ ์ ์๊ณ ,
position
์ผ๋ก ์ธํด normal flow
์์ ๋ฒ์ด๋์ ๋ ์ด์์์ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
clip
๊ณผ overflow:hidden
์ ํตํด ์ฝํ
์ธ ๊ฐ ์๋ณด์ด๊ฒ ๊ฐ๋ ค์ค ์ ์๋ค.
์ฌ๊ธฐ์ margin:-1px
์ ๊ฒฝ์ฐ ๊ตฌ๋ฒ์ ๋ธ๋ผ์ฐ์ (IE)์์ ํธํ์ฑ์ ์ํด ๋ฃ์ด์ค ์์ฑ์ด๋ค.
์ด ์์ฑ์ ์ฃผ๋ก '๋ค์ด๋ฒ'์์ ์ฌ์ฉํ๋ IR๊ธฐ๋ฒ
์ด๋ค. ".blind"๋ผ๋ ํด๋์ค๋ช
์ผ๋ก ์ ์ฉํ๊ณ ์๋ค.
์์ ์ ๋ฐฐ์ ์ง๋ง ์ด๊ฑด ์น์ ๊ทผ์ฑ์ ์ํด ๊ผญ ์์์ผํ ๊ฒ ๊ฐ์์ ์ ๋ฆฌ๋ฅผ ํด๋ณด์๋ค.
์ฌ๋ฌ๋ชจ๋ก ๋ด๊ฐ ์๋ ์น์์๋ ์์ง ๋ชจ๋ฅด๋ ๊ฒ์ด ๋ง์ ๊ฒ ๊ฐ๋ค. ๋ฌผ๋ก ๋ด๊ฐ ์๊ฐ์ฅ์ ์ธ์ ์์ ์ผ๋ก ์น์ ๋ณด์ง ์์์ ์ธ ๊ฒ๋ ์์ ๊ฒ์ด๋ค.
ํ์ง๋ง ์ ๋ณด๋ ๋๊ตฌ์๊ฒ๋ ๊ณตํํ๊ฒ ์ ๊ณต๋์ด์ผ ํ๋ค๊ณ ์๊ฐํ๋ ๋ง์ธ๋๋ฅผ ๊ฐ์ง๊ณ ์๊ธฐ์ ๋๋ก์๋ ๊ผญ ์์๋ฌ์ผํ๋ค๊ณ ์๊ฐํ๋ค.
์์ผ๋ก ๋งํฌ์ ์ด๋ CSS๋ฅผ ํ ๋๋ ๊ผญ ํ๋ฒ ๋ ์๊ฐ์ฅ์ ์ธ์ ์ ์ฅ์์ ํ๋ฒ ๋ ์๊ฐํ๋ ํ์ต์ ๋ชฉํ๋ก ๊ณต๋ถ๋ฅผ ํ๋๋ก ํด์ผ๊ฒ ๋ค.