溢出和溢出-x / overflow-y之间的优先级/交互

时间:2013-11-06 09:01:49

标签: css overflow

我想将overflow(或overflow-xoverflow-y)设置为一般对象(hidden)的某个值(*)并覆盖overflow-x {到visible)特定对象(foo),而不更改overflow-y

我做了:

*{overflow: hidden;}
foo{overflow-x: visible;}

当我在Google Chrome开发人员的工具中检查foo个对象时,这两个规格 overflow: hidden(来自*)和overflow-x: visible(来自foo)有效。但是,从视觉上看,似乎overflow: hidden覆盖了overflow-x: visible。这违背了我的期望,即更具体的foo规范应该覆盖不太具体的*规范。

当我改为:

*{overflow: hidden;}
foo{overflow: visible;}

然后,似乎overflow: visible(来自foo)覆盖overflow: hidden(来自*),正如我所预期的那样,但overflow-y代表foo visible也设置为overflow,我不想要。

overflow-x规范是否优先于overflow-yoverflow-x?如果没有,发生了什么?

<小时/> 编辑也许事情比我想象的要复杂得多。将visible设置为overflow-x会删除水平滚动条,这会降低对象的高度,这可能会产生干扰。

<小时/> 修改this questionthis question的回答中看起来有提示。特别是,根据W3C规范,当overflow-yvisible设置为visible而另一个设置为其他内容时,auto会变为{{ 1}}。这是一个奇怪的规范。

0 个答案:

没有答案