xhtml 1.0의 block요소 테투리(border)에 대해서..
글쓴이: tinywolf / 작성시간: 일, 2005/10/02 - 11:33오후
요즘 연구실 홈피를 리뉴얼 하고 있어서..
xhtml 1.0 표준을 지키면서 table 하나도 안 쓰고 작성하고 있습니다.
상당히 많은 태클이 들어오고 있지만 꿋꿋하게.. 고집대로 하고 있는데요.
페이지 디자인에 들어가있는 선들을 이미지를 하나도 안 쓰고
css만 사용해서 그려넣고 있습니다.
그런데 요게 크기가 1픽셀 단위로 미묘하게 차이납니다.
IE에서는 border를 block 요소 크기에 포함시키지 않아서 약간 찌그러지고..
FireFox에서는 block 요소 크기에 포함되어서 이빨이 딱딱 맞습니다.
IE에서 제대로 보이게 맞추면 FireFox에서 제대로 안보이구요..
아래에 html 파일을 첨부하겠습니다.
한번 봐주십시오.
궁금한 것은.. 어느 것이 표준에 적합한 것입니까?
IE 처럼 border를 block 크기에 포함시키지 않는것?
FireFox 처럼 border가 block 크기에 포함되는 것?
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 7.63 KB |
Forums:
여길 한번 참고해보세요http://forums.mozilla.or
여길 한번 참고해보세요
http://forums.mozilla.or.kr/viewforum.php?f=9
Gentoo Rules!
Firefox의 방식이 W3C 표준입니다. 그리고 이는 IE의 표준 랜더
Firefox의 방식이 W3C 표준입니다. 그리고 이는 IE의 표준 랜더링 모드의 랜더링 방식이기도 합니다.
DTD선언을 했지만 IE가 표준 모드로 랜더링 하지 않는 이유는 문서 최상단의 xml선언 때문입니다. IE는 DTD선언이 정확하면 표준 모드로 랜더링 되지만, DTD선언 이전에 아웃풋이 있으면 표준 모드로 랜더링 되지 않고 호환 모드로 랜더링 됩니다. (IE7에서는 이 버그가 수정 될 예정입니다.)
해결 방법은...
charset을 utf-8로 할 경우 xml문서 상단에 charset을 선언해주지 않아도 되기 때문에 <?xml.... 이부분을 삭제 하는 것입니다. XHTML 1.0 이니 XHTML 1.1 처럼 완전한 XML문서가 아니어도 허용이 됩니다.
관련 링크
CSS Visual formatting model
http://www.w3.org/TR/REC-CSS2/visuren.html
IE Doctype Switching
http://msdn.microsoft.com/library/en-us/dnie60/html/cssenhancements.asp?frame=true#cssenhancements_topic2
그리고 주제와 조금 어긋난 말을 드리자면, 디자인을 보니 CSS의 border와 background-color를 사용하는 것보다 background-image를 사용하는 것이 훨씬 작업도 간단하고 semantic한 markup을 유지할 수 있을 것 같습니다.
오옷.. 답변 감사드립니다..xml만 빼니까 잘 되는군요..그
오옷.. 답변 감사드립니다..
xml만 빼니까 잘 되는군요..
그런데 결국 테이블을 사용하고 말았는데요..
아래와 같은 레이아웃을 잡을 때..
가변되는 블록은 위쪽 가운데 블록이구요..
요런 레이아웃에서는 왼쪽과 오른쪽 div 블록이..
전체 블록 크기에 맞게 위아래로 늘어나 줘야되는데..
이게 어렵더군요..
결국 테이블 사용..
그리고 반투명한 알파가 적용된 png 이미지들도 페이지가 로딩되고 난 후 document.all 이 있다면 ie로 판단하고 gif로 바꾸도록 만들어서 대문페이지를 완성했습니다..
뭐 테이블이던.. 이미지이던.. css이던..
걍 그때 그때 맞추어서 적당하다면 고집 피우지 않고 넘어가기로 세상과 타협해 버렸습니다.. OTL..
아직 한참 미완성이지만.. 연구실에서 짬날 때마다 홈피를 수정하고 있습니다.
만들고 있을 때는 쓸데없는 짓한다고 구박받지만..
만족스럽게 ㅤㄷㅚㅆ을 때는 무언가 희열이 느껴진다고 해야하나..
네.. 자기만족입니다.. OTL..
http://vr.knu.ac.kr
시간 나시면 한번들 살펴보시고 지적 부탁드립니다~ ㅋ
ㅡ_ㅡ;
아마 가변 길이는 자바 스크립트를 이용해야 할 것입니다.그냥 할 수
아마 가변 길이는 자바 스크립트를 이용해야 할 것입니다.
그냥 할 수 있는 방법이 있다면 제발~ 가르쳐 주세요. :)
[quote="tinywolf"]아직 한참 미완성이지만.. 연구실에서 짬
와우..수고 하셨습니다. CSS 걷어냈다가 첫줄에 있는 메세지 보고 간만에 웃었습니다. :)
xhtml 이랑 css 뱃지 링크를..
http://validator.w3.org/check/referer
http://jigsaw.w3.org/css-validator/check/referer
로 걸면 referer로 웹페이지를 체크할 수 있습니다.
[quote="ditto"]아마 가변 길이는 자바 스크립트를 이용해야 할
javascript 를 사용하는 것도 하나의 좋은 방법이고,
javascript 를 사용하지 않으려면 float 를 이용해서 박스를 배치하고 아래에서 clear 시켜 주면 됩니다.
IE가 박스모델을 잘못 처리하고 있습니다.Dan Cederholm의
IE가 박스모델을 잘못 처리하고 있습니다.
Dan Cederholm의 책에선 다음의 링크와 함께 예제를 소개하고 있습니다.
http://www.tantek.com/CSS/Examples/boxmodelhack.html
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
댓글 달기