我在开发网页时遇到了问题。
Firefox或Internet Explorer都不会显示我对以下代码段的预期行为:
<div
style="overflow-x: visible; overflow-y: auto; width: 200px; height: 200px; border: 1px solid #F00;">
<div style="width: 300px; height: 300px; background-color: #0F0;"> </div>
</div>
我所期望的是能够看到容器div的x侧溢出的内容,而不是底部溢出的内容(使用滚动条查看更多内容)。相反,我看到的是x滚动条和y滚动条。
注意:在firebug中检查计算出的样式属性会发现firefox正在使用overflow-x: auto;
作为容器。
预计会出现这种情况吗?我理解在请求将滚动条置于我自己的内容之上时存在一些含糊之处(例如,我的水平内容将超过垂直滚动条,因此必须覆盖部分内容)。
我遇到符合标准的行为是什么?
答案 0 :(得分:19)
好吧,我会被诅咒,我决定查看CSS(3)规范对此有何评论,it说:
'overflow-x'和'overflow-y'的计算值与 它们的指定值,除了某些与'visible'的组合 是不可能的:如果一个被指定为'可见'而另一个被指定为 '滚动'或'自动',然后'可见'设置为'自动'。
所以,简而言之,是的,我所经历的完全是预期的行为。
来源:CSS basic box model W3C Working Draft 9 August 2007(就在示例之后)