On having layout(8)

Editing Platform 继承了 layout 概念,对 layout 的误解多是因 contenteditable 而起即可作为证明(那些某种程度上集成了IE编辑引擎的应用软件多暗含着对layout概念的某种强制向后兼容性)。

More on contenteditable 和 CSS 规范类似的地方

你的 MSIE 页面在别的浏览器中一团糟?我们可没必要让这种事情发生。如果使用恰当,任何好的浏览器都能摆平 MSIE 的页面——只要你使用一些正确的 CSS。

利用 hasLayout 和“”之间的细微相似之处,我们可以有几种方法在标准兼容浏览器中重新实现 hasLayout 的“”效果,和一些“”所特有的效果。

Reverse engineering series Simulations Quirks 模式

关于这种渲染模式的的信息,请参考我们的 quirks 模式章节。

Layout ——结论

整个 layout 概念和一些基本 CSS 概念是不兼容的,即包含,排列,浮动,定位和层叠等。

由于页面中元素或有或没有 layout,会导致 IE/Win 的行为和 CSS 规范相违背。

拥有 layout ——另外一个引擎?

IE 的对象模型看起来是文档模型和他们传统的应用程序模型的糅合。我之所以提到这点是因为它对于理解IE如何渲染页面很重要。而从文档模型切换到应用程序模型的开关就是给一个元素“layout”。

()

有时候要解释清楚某种行为是不可能的:就比如 hasLayout,会根据它的状态选择两种不同渲染引擎的一种使用,而且每一种都有其自己的 bug 和怪异之处。

不可消除的 bug

软件 bug 是由于在制作过程中对完整性和逻辑问题考虑不周等人为错误而导致的。这是人类的固有缺陷,目前还没有什么好的解决方法。

同样由于这种缺陷,任何试图不重写软件而修复 bug 的做法,都将会不可避免的导致软件中出现更复杂的bug。

所有依赖别的软件的软件——当然包括依赖操作系统,也会同样依赖他们的 bug。于是我们会从所有关联的软件中得到一连串的 bug,这也更说明找到一个无 bug 软件是几乎不可能的。

(Molly, the cat‛)

本文创建于2005年6月30日,最后一次修改于2006年4月2日。

编者: Holly Bergevin Ingo Chao Bruno Fassino John Gallant Georg Sørtun Philippe Wittenbergh  
特别致谢给予此项目支持的: Dean Edwards, and Molly ‚the cat‛  
各种语言版本: Original(English) Brazilian Portuguese by Mauricio Samy Silva 中文版本 by old9 Italian by Gabriele Romanato  
相关讨论: dean.edwards.name/weblog/ 联系作者: spam.layout@satzansatz.de  
版权说明: 本文基于创作共用协议发布。  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzdfzg.html