【发布时间】:2014-04-16 11:51:32
【问题描述】:
假设我们有这样的样式声明:
body > div > input:hover ~ label {
color: red;
}
按照我的理解,解析器会找到所有标签,过滤哪些标签跟随悬停的input,这是div 的直系后代,body 的直系后代。
我很想知道这是否会在输入的悬停状态发生变化时执行,或者仅在一个文档加载时执行(放置在某种查找表中)。
如果我想使用大量复杂的选择器(出于不相关的原因),页面在状态和效果之间的渲染会变慢,还是只会影响页面的初始加载时间?
【问题讨论】:
-
除了性能之外,跨浏览器的兼容性也是一个问题。 (例如,
~通用兄弟选择器仅从 CSS3 开始可用:developer.mozilla.org/en-US/docs/Web/CSS/…) -
我知道了,只是用它作为例子。
-
虽然有点老了,但这个post值得一读。
-
“我很想知道这是在输入的悬停状态发生变化时执行,还是仅在一个文档加载时执行(放置在某种查找表中)。”这类东西实际上取决于实现 - 您获得答案的机会主要取决于参考文档甚至是可用的来源。
标签: css performance css-selectors