글
CSS hack 이란?
브라우저의 구현 차이나 버그를 이용하여 CSS의 적용대상에서 일부 브라우우저를 제외하거나, 특정 브라우저만을 대상으로 CSS를 적용하는 방법을 'CSS핵' 이라고 합니다.
크로스브라우징을 위한 응급대처 같은 방법이라고 생각하시면 되고, 핵일부는 CSS의 문법상 올바르지 않은 것도 있을 수 있습니다.
여러 핵들이 있지만, 자주 사용하는 핵을 살펴보겠습니다.
1. 스타핵 (star hack)
셀렉트 앞에 *html 을 붙히며 Win IE 4~6, Mac IE 4~5 등에 스타일이 적용되며 다른 브라우저에는 적용되지 않습니다.
view plaincopy to clipboardprint? *html p{ padding:3px; } /* 맨앞에 *html 을 붙혀줍니다. */ *html p{ padding:3px; } /* 맨앞에 *html 을 붙혀줍니다. */
2. 언더스코어 핵 (underscore hack)
속성의 가장 앞부분에 언더스코어(_)를 붙이며 Win IE 4~6 등에서 스타일이 적용되고 다른브라우저에서는 적용되지 않습니다.
view plaincopy to clipboardprint? p { _padding:3px; } /* padding 앞에 _ 를 붙혀줍니다. */ p { _padding:3px; } /* padding 앞에 _ 를 붙혀줍니다. */
3. 해시 핵 (hash hack)
속성의 앞에 # 를 붙이며 Win IE 4~6, Mac IE 5, Opera 7, Mozila, Firefox 등에 스타일이 적용되고 다른 브라우저에는 적용되지 않습니다. (CSS의 문법상 속성의 앞에 #를 두는 것은 문법적으로 바르지 않습니다.)
view plaincopy to clipboardprint? p { #padding:3px; } /* padding(속성) 앞에 #를 붙힙니다. */ p { #padding:3px; } /* padding(속성) 앞에 #를 붙힙니다. */
4. 스타 7 핵 (star 7 hack)
셀렉트 앞에 html* 를 붙이며 Win IE 5.5~6, Map IE 5, Safari 등에서 스타일이 적용되고 다른 브라우저에서는 적용되지 않습니다. html* 과 선택자 사이에 공백을 두시면 안됩니다.
view plaincopy to clipboardprint? html*p { padding:3px; } html*p { padding:3px; }
5. IE7 전용핵셀렉트 앞에 *:first-child+html 를 붙히며, IE 7에만 적용이 됩니다.
view plaincopy to clipboardprint? *:first-child+html p { padding:3px; } *:first-child+html p { padding:3px; }
이밖에도 브라우저 배제를 위한 핵과 박스모델 핵 패스필터 등이 있지만, 제가 주로 사용하는 핵을 위주로 적어봤습니다.
hack 을 자주 사용하면 새로운 브라우저에 영향을 끼칠수도 있으며, 업무효율을 떨어뜨리는 요인이 될수도 있으니, 응급대처 방법이라고 생각하시고 사용하시는게 올바른 판단이라고 생각됩니다.
브라우저의 구현 차이나 버그를 이용하여 CSS의 적용대상에서 일부 브라우우저를 제외하거나, 특정 브라우저만을 대상으로 CSS를 적용하는 방법을 'CSS핵' 이라고 합니다.
크로스브라우징을 위한 응급대처 같은 방법이라고 생각하시면 되고, 핵일부는 CSS의 문법상 올바르지 않은 것도 있을 수 있습니다.
여러 핵들이 있지만, 자주 사용하는 핵을 살펴보겠습니다.
1. 스타핵 (star hack)
셀렉트 앞에 *html 을 붙히며 Win IE 4~6, Mac IE 4~5 등에 스타일이 적용되며 다른 브라우저에는 적용되지 않습니다.
view plaincopy to clipboardprint? *html p{ padding:3px; } /* 맨앞에 *html 을 붙혀줍니다. */ *html p{ padding:3px; } /* 맨앞에 *html 을 붙혀줍니다. */
2. 언더스코어 핵 (underscore hack)
속성의 가장 앞부분에 언더스코어(_)를 붙이며 Win IE 4~6 등에서 스타일이 적용되고 다른브라우저에서는 적용되지 않습니다.
view plaincopy to clipboardprint? p { _padding:3px; } /* padding 앞에 _ 를 붙혀줍니다. */ p { _padding:3px; } /* padding 앞에 _ 를 붙혀줍니다. */
3. 해시 핵 (hash hack)
속성의 앞에 # 를 붙이며 Win IE 4~6, Mac IE 5, Opera 7, Mozila, Firefox 등에 스타일이 적용되고 다른 브라우저에는 적용되지 않습니다. (CSS의 문법상 속성의 앞에 #를 두는 것은 문법적으로 바르지 않습니다.)
view plaincopy to clipboardprint? p { #padding:3px; } /* padding(속성) 앞에 #를 붙힙니다. */ p { #padding:3px; } /* padding(속성) 앞에 #를 붙힙니다. */
4. 스타 7 핵 (star 7 hack)
셀렉트 앞에 html* 를 붙이며 Win IE 5.5~6, Map IE 5, Safari 등에서 스타일이 적용되고 다른 브라우저에서는 적용되지 않습니다. html* 과 선택자 사이에 공백을 두시면 안됩니다.
view plaincopy to clipboardprint? html*p { padding:3px; } html*p { padding:3px; }
5. IE7 전용핵셀렉트 앞에 *:first-child+html 를 붙히며, IE 7에만 적용이 됩니다.
view plaincopy to clipboardprint? *:first-child+html p { padding:3px; } *:first-child+html p { padding:3px; }
이밖에도 브라우저 배제를 위한 핵과 박스모델 핵 패스필터 등이 있지만, 제가 주로 사용하는 핵을 위주로 적어봤습니다.
hack 을 자주 사용하면 새로운 브라우저에 영향을 끼칠수도 있으며, 업무효율을 떨어뜨리는 요인이 될수도 있으니, 응급대처 방법이라고 생각하시고 사용하시는게 올바른 판단이라고 생각됩니다.
'웹스터디 > xhtmlcss' 카테고리의 다른 글
크로스 브라우징을 위한 CSS적용 Tip (0) | 2008.06.21 |
---|---|
크로스브라우징 - 박스모델의 padding, magin, width (0) | 2008.06.21 |
IE6,IE7 ,FireFox 에 대해 CSS 맞추기 (0) | 2008.05.31 |
꾸며진 셀렉트박스 (decorated select box) (0) | 2008.05.30 |
select 박스 CSS (0) | 2008.05.30 |
html, css, javascript, DOM (Reference) -유용합니다. (0) | 2008.05.09 |
CSS핵(hack) 정리 (1) | 2008.04.12 |
PNG 포멧 용법 (0) | 2008.04.12 |
클릭하면 즐겨찾기(또는 북마크) 추가되는 소스 (0) | 2008.04.06 |
버튼 클릭시 숨겨져있던 레이어 띄우기 (0) | 2008.03.21 |
RECENT COMMENT