<分区>
当我指定 overflow-x: hidden
时在水平和垂直溢出的元素上,除了隐藏水平溢出的内容之外,该元素还有一个垂直滚动条。我试过添加 overflow-y: visible
甚至只是overflow: visible
, 没有效果。
我是不是误解了这些属性的作用?我会认为 overflow-x
根本不应该影响垂直溢出。
这在我尝试过的每个浏览器上都发生过。
这是演示效果的片段。我正在使用 <pre>
标签,因为它们是创建溢出内容的简单方法,但似乎任何标签都会发生这种情况。
pre {
height: 40px;
width: 150px;
margin-bottom: 50px; /* We need this so they don't overlap. */
}
#x-hidden {
overflow-x: hidden;
}
#y-visible {
overflow-x: hidden;
overflow-y: visible;
}
#visible {
overflow: visible;
overflow-x: hidden;
}
<pre>
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="x-hidden">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="y-visible">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
<pre id="visible">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Praesent bibendum lorem felis, sit amet sodales nunc gravida eget.
Integer mollis quis magna quis vulputate.
Cras aliquet convallis efficitur.
</pre>
W3C spec说:
The computed values of ‘overflow-x’ and ‘overflow-y’ are the same as their specified values, except that some combinations with ‘visible’ are not possible: if one is specified as ‘visible’ and the other is ‘scroll’ or ‘auto’, then ‘visible’ is set to ‘auto’.
但这并没有提到 overflow-x
的情况。或 overflow-y
设置为 hidden
,这对我来说意味着这种组合确实是可能的。