On having layout |
作者:old9 时间: 2006-06-30 文档类型:翻译 来自:web.Frontend 第 2 页 On having layout [2] 第 3 页 On having layout [3] 第 4 页 On having layout [4] 第 5 页 On having layout [5] |
堆叠,分层和 layout IE/Win 中似乎有两种分层和堆叠顺序: ·一种是(伪)试图采用CSS的模式:Effect of z-index value to RP and AP blocks 两种堆叠模式虽互不相容,但却共存于IE的渲染引擎中。经验之谈:调试的时候,两种情况都要考虑到。我们可能会有规律地在下拉菜单或者类似的复杂菜单中看到相关问题,因为它们往往牵涉到堆叠,定位和浮动等诸多令人头疼的问题。给那些 z-index 定位的元素 layout 是一种可能的修正方法,不过也不限于此,这里只是提醒一下。 混乱的 contenteditable 如果给一个 HTML 标签设定 contenteditable=true 属性,比如,将会允许对该元素以及其 layout 子元素进行实时的编辑、拖动改变尺寸等操作。你可以把这属性用在浮动元素或者一个有序列表中的 layout 列表元素上看看效果。 和 CSS 规范类似的地方 你的 MSIE 页面在别的浏览器中一团糟?我们可没必要让这种事情发生。如果使用恰当,任何好的浏览器都能摆平 MSIE 的页面——只要你使用一些正确的 CSS。 ·Reverse engineering series Quirks 模式 关于这种渲染模式的的信息,请参考我们的 quirks 模式 章节。 Layout ——结论 整个 layout 概念和一些基本 CSS 概念是不兼容的,即包含,排列,浮动,定位和层叠等。 拥有 layout ——另外一个引擎? IE 的对象模型看起来是文档模型和他们传统的应用程序模型的糅合。我之所以提到这点是因为它对于理解IE如何渲染页面很重要。而从文档模型切换到应用程序模型的开关就是给一个元素“layout”。 有时候要解释清楚某种行为是不可能的:就比如 hasLayout,会根据它的状态选择两种不同渲染引擎的一种使用,而且每一种都有其自己的 bug 和怪异之处。 不可消除的 bug 软件 bug 是由于在制作过程中对完整性和逻辑问题考虑不周等人为错误而导致的。这是人类的固有缺陷,目前还没有什么好的解决方法。 本文创建于2005年6月30日,最后一次修改于2006年4月2日。 编者: Holly Bergevin 特别致谢给予此项目支持的: 各种语言版本: 相关讨论: 联系作者: 版权说明: 目录 介绍 |
联系客服