7

昨天我将 Chrome 更新到了 24 版,在这样做之后,display:none我应用于选择器的属性似乎没有被应用。

我有一个将 apply 的第一个类型选择器,display:block似乎这适用于该类型的所有成员,除了最后一个。

display当我在 Chrome 开发者工具中禁用/启用这个 css属性时,display:none它确实得到了正确应用。开发人员工具甚至显示display仍然none允许从网页中选择元素

此行为适用于以前版本的 chrome 和 firefox。

有没有办法可以强制触发这种行为?

我目前尝试设置一个不同的类来应用 Javascript 中的显示逻辑,但我更希望有一个 CSS 解决方案。

编辑

“用户代理样式表”中还有一个“div {display:block;}”,尽管这在开发人员工具中被标记为覆盖,也许这是问题的一部分?

4

1 回答 1

0

如果您遇到的问题是使用 display:block/none “打开和关闭”元素;可能是Chrome很久以前遇到的渲染问题。

有时用显示替换内容会导致 Chrome 中的重绘问题,即使控制台显示属性被替换,它也不会影响窗口及其元素。

尝试将此添加到要隐藏/显示的元素中:

-webkit-transform: translate3d(0,0,0);

或者,如果您对 X 和 Y 使用 translate 可以简单地添加:

-webkit-transform: translateZ(0); // This affects only the Z preserving X and Y

您还可以在Yotam Omer 提出的这个答案中阅读对浏览器的转换操作究竟做了什么以使其“行动”

于 2014-04-14T17:41:24.173 回答