2010-05-25 4 views
2

나는 매우 흥미로운이 발견 :수천 개의 IE 해킹을 작성하는 악몽에 대한 상대적인 위치 지정이 궁극적 인 대안입니까?

http://matthewjamestaylor.com/blog/ultimate-3-column-holy-grail-pixels.htm

그는 IE 문제를 방지하기 위해 수평 마진과 패딩을 사용하지 마십시오. 그는 상대 위치 지정을 사용하여 패딩을 "가짜"라고 생각합니다.

혹시 이런 식으로 된 적이 있습니까? IE 해킹에 대한 공통된 추세가 빠졌습니까? 이 연습에는 단점이 있습니까?

답변

1

예는 구식입니다.

그런 여백과 패딩이있는 문제는 IE5의 깨진 박스 모델에 문제가있었습니다. IE의 최신 버전에서는 IE가 quirks mode 인 경우에만 깨진 박스 모델을 얻게됩니다. 그것은 당신이 모든 비용을 들이지 않고 피해야 만하는 것입니다. 올바른 doctype을 사용하십시오!

실제로 연결된 페이지 은 깨진 상자 모델에에 의존합니다. 그는 업데이트되지 않은 버전이 있습니다. http://matthewjamestaylor.com/blog/holy-grail-no-quirks-mode.htm

실제로 어떤 종류의 IE 문제를 해결하려고합니까? 특별히 링크 된 페이지에서와 같이 3 열 레이아웃을 원하십니까? IE 레이아웃 문제에 대한 일반적인 솔루션을 원하십니까? 아니면 IE를 완전히 잊을 수 있기를 원하십니까?

레이아웃과 IE6/7을 다룰 때 가장 중요한 점은 hasLayout 속성입니다. 이에 대한 자세한 내용은 On having layout을 읽어보십시오.

모든 브라우저와 호환되는 복잡한 레이아웃을 구축하는 데 도움이되는 도구를 특별히 찾고 있다면 YUI Grids 또는 Blueprint과 같은 그리드 프레임 워크를 살펴볼 수 있습니다. 그러나 나는 그들이 비범 한 div 수프를 초래하는 경향이 있기 때문에 나는 그것들의 팬이라고 말할 수 없다.

전체 웹 사이트를 자동으로 수정하는 약간의 (실험적) JavaScript가 마음에 들면, IE7.js을 시도해 볼 수 있습니다. 나는 그것을 사용했는데, 확실히 그것의 단점과 한계가 있기 때문에, 당신 자신의 위험 부담으로 사용하십시오.

원래의 질문으로 되돌아 가려면 상대적인 위치 지정이 무엇이든 궁극적 인 해결책이 될 수는 없지만 상자 안에있는 도구 중 하나 일뿐입니다. 그것을 이해하고 적절할 때 사용하십시오. 예를 들어 Sitepoint's CSS layout and formatting reference을 참조하십시오. 그리고 건조한 상태에서 CSS 사양이 매우 유용하다는 것을 알았습니다. 특히 visual formatting modeldetails의 장을 참조하십시오.

관련 문제