크로스브라우징 팁 정리
첨부파일 https://imweb.eond.com/coding/162805
이 글은 정찬명님의 나라디자인에서 '크로스브라우징 팁'을 읽고 정리한 내용을 갈무리해놓았습니다.

1) 바른 DTD 사용.
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

2) 공동 선택자(*) 활용
* { margin:0; padding:0; font-size:small; font-family:돋움, Dotum, AppleGothic, sans-serif;}

공통선택자에 font 를 정의하는 이유는 body 태그에 적용한 font 속성은 form 내부의 element 와 th, td 태그에까지 이를 상속하지 않는데 반하여 공통선택자에 이것을 적용하면 모든 element 에 대한 font 를 완벽하게 통일할 수 있기 때문입니다. 또한 font 에 대표속성(예: {font:small 돋움, Dotum, AppleGothic, sans-serif})을 사용하지 않는 이유는 이를 사용하는 경우 h1~h6, th, strong 태그가 기본적으로 지니고 있는 font-weight 까지 모두 초기화(normal) 되기 때문입니다. font의 대표속성을 사용할 때 font-weight 따위를 정의하지 않으면 font-wight:normal 상태로 렌더링 됩니다.


3) 의도하지 않았던 여백이 발생하는 경우는 보통 inline 형태의 element 문제 또는 IE 의 버그 때문 입니다. inline 형태의 element 는 항상 line-height 를 지니고 있습니다. 따라서 의도하지 않았던 여백이 발생하는 경우 일단 inline element 의 line-height 문제가 아닌지 먼저 확인해 보아야 합니다. line-height 도 화면에서 분명히 면적을 차지하고 있습니다. 안타깝게도 line-height 속성을 CSS 에서 따로 정의하지 않았다면 웹 브라우저 제품마다 line-heght 를 다르게 렌더링 할 것입니다. 이 때문에 어떤 브라우저에서는 의도한 대로 나타나지만 어떤 브라우저에서는 박스와 박스 사이에 여백이 생길 수도 있는 것입니다. 또 다른 문제는 잘 알려진 IE 버그로서 block 된 li 에 발생하는 알 수 없는 여백의 문제 입니다. 이럴 때에는 해당 li 가 화면에서 차지하는 면적을 제거하기 위하여 li {float:left; clear:both} 를 적용하고 float 된 li 의 면적이 부모 element 에게는 유효하게 전달되도록 ul {overflow-hidden} 을 적용해 보시기 바랍니다.

4) 화면 레이아웃을 결정할 때 position 속성을 사용하거나 또는 float 을 사용하라고 배웠을 것입니다. {position:absolute} 상태일 때에는 화면에서 면적을 차지하지 않는다는 것을 잘 알고 계실껍니다. 그리고 {position:absolute} 상태일 때에는 그다지 렌더링 관련 버그를 만나는 경우가 없을 것입니다. 하지만 float 의 경우 IE 에서는 버그가 있으므로 FF, OP 브라우저와의 차이가 발견되면 일단 IE 를 믿지 마시기 바랍니다. 이것에 대한 문제해결은 float 이 화면에서 면적을 차지하지 않는다는 사실과 IE 에서는 이와 관련된 버그가 있다는 사실을 인지하는 것으로부터 시작됩니다. 자주 발견되는 IE 의 렌더링 오류는 float 된 요소와 float 되지 않은 요소가 만나는 방법입니다. float 은 원래 주변의 inline 요소만 흐르도록 하는것이 맞지만 IE 는 block 된 이웃 요소도 float 의 영향을 받습니다.
IE 처럼 렌더링 시키려면 b 상자에도 float 속성을 넣어주면 됩니다. float 된 element 는 float 되지 않은이웃 element 와 서로 간섭하지 않지만 float 된 이웃 element 끼리는 서로의 면적을 인식하게 되기 때문입니다. 추가적으로 IE 6.x는 float된 요소에 적용된 margin을 두 배로 출력하는 버그가 있습니다. 따라서 float을 사용할때 margin을 함께 사용하지 않는것도 중요한 팁 입니다.
코멘트 0
접기/펴기 | 댓글 새로고침
 
 
Total 235 articles in 3 / 12 pages
번호 제목 제목 날짜날짜
공지 코딩 배울 수 있는 사이트 모음(HTML/CSS/JS/IMG/PHP) 2018/01/03
공지 jQuery를 배울수 있는 동네들입니다. 2013/08/09
공지 관련 링크 [1] 2010/05/23
195 [부트스트랩] 부트스트랩 유료테마 파일 2016/06/22
194 [부트스트랩] metronic_v4.5.2 UI bootstrap 2015/12/18
193 [부트스트랩] Admin & Dashboard 파일 2016/06/22
192 [부트스트랩] 부트스트랩 COLLAPSE 아코디언 효과 2016/06/15
191 [부트스트랩] 부트스트랩 커스텀 padding, margin 2016/06/05
190 [부트스트랩] 부트스트랩에서 margin-top 은 어떻게 표현할까? 2016/06/05
189 [프레임워크] igniteui 2015/12/24
188 [부트스트랩] [부트스트랩UI] http://lambdathemes.in/ 2015/12/18
187 [svg] svg 색깔 칠하기 2015/11/27
186 [svg] jenkov svg tutorial 2015/11/27
185 [svg] 간단한 예제, 네모난 박스 svg 2015/11/26
184 [svg] svg 제공 사이트, thenounproject.com 2015/11/26
183 [svg] 점점점 more 아이콘 svg 파일 2015/11/26
182 [svg] SVG 소개 2015/11/26
181 [svg] SVG 표현하는 5가지 방법 2015/11/26
180 [웹폰트] 모빌리어스 웹폰트 사용하기 2015/11/19
179 [Form] form 태그의 기본적인 사용방법 2015/08/31
178 [Form] 인풋 폼 이미지로 대체하기 [1] 2004/05/21
177 [Form] form 태그 안에서의 button 태그의 사용 방법(button, a, input type=submit) 2015/06/21
176 [크로스브라우징] browserstack 2015/08/31

해시태그 디렉터리

오늘의 핫게시물