相关疑难解决方法(0)

为什么浏览器从右到左匹配CSS选择器?

CSS选择器由浏览器引擎从右到左匹配.因此,他们首先找到孩子,然后检查他们的父母,看看他们是否符合规则的其余部分.

  1. 为什么是这样?
  2. 是因为规范说的吗?
  3. 如果从左到右进行评估,它是否会影响最终布局?

对我来说,最简单的方法是使用元素数量最少的选择器.首先是ID(因为它们应该只返回1个元素).然后可能是类或具有最少节点数的元素 - 例如,页面上可能只有一个跨度,因此可以使用引用跨度的任何规则直接到达该节点.

以下是备份我的说法的一些链接

  1. http://code.google.com/speed/page-speed/docs/rendering.html
  2. https://developer.mozilla.org/en/Writing_Efficient_CSS

这听起来像这样做是为了避免必须看到父母的所有孩子(可能是很多孩子),而不是一个孩子的所有父母必须是一个孩子.即使DOM很深,它也只会在每个级别查看一个节点而不是RTL匹配中的多个节点.评估CSS选择器LTR或RTL更容易/更快?

html css browser css-selectors

543
推荐指数
3
解决办法
7万
查看次数

CSS选择的标签高于类

<html>
<head>
    <style>
        input[type='text'], select {
            background: blue
        }

        .error {
            background: red
        }
    </style>
</head>
<body>
<input type="text" class="error"/>
<select class="error">
    <option>non-sense</option>
</select>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果班级.error背景为红色,则必须为红色.即使input[type="text"]有蓝色背景.在IE和GC中测试过.

css css-selectors

0
推荐指数
1
解决办法
390
查看次数

标签 统计

css ×2

css-selectors ×2

browser ×1

html ×1