我测试过,在 chrome 或 firefox 上运行时,除了在 ie 上,
位置:固定将触发显示:块?
这个测试html:http
://sking7.github.com/fix.html
代码会提示两次,第一次是显示,第二次是document.compatMode
这为什么呢?
w3c有这么说吗?
问问题
3471 次
1 回答
3
好吧,我为此找到了 w3 规范:
9.7 ‘display’、‘position’和‘float’之间的关系
影响盒子生成和布局的三个属性——“display”、“position”和“float”——交互如下:
- 如果 'display' 的值为 'none',则 'position' 和 'float' 不适用。在这种情况下,元素不会生成框。
- 否则,如果'position'的值为'absolute'或'fixed',则框是绝对定位的,'float'的计算值为'none',并根据下表设置显示。盒子的位置将由 'top'、'right'、'bottom' 和 'left' 属性以及盒子的包含块确定。
- 否则,如果 'float' 的值不是 'none',则框是浮动的,并且根据下表设置 'display'。
- 否则,如果元素是根元素,则根据下表设置'display',除了在CSS 2.1中未定义'list-item'的指定值是否成为'block'或'list的计算值-物品'。
- 否则,剩余的“显示”属性值将按指定应用。
规定值 计算值 内联表 *内联*,表行组,表列, 表列组,表头组, 表页脚组、表行、表单元格、 表格标题,内联块 *块* 其他与指定相同
于 2012-10-12T13:35:12.383 回答