【问题标题】:Which of the two following selectors are better? [closed]以下两个选择器哪个更好? [关闭]
【发布时间】:2015-04-29 02:49:32
【问题描述】:

考虑以下 HTML:

<ul>
  <li>
    <a ...

对于同一组声明,这两个规则集中哪一个会更高效? 到底有没有区别

ul {
  font-size: 1.25rem
}
ul a {
  font-size: 1.25rem
}

可能是第一个?

【问题讨论】:

  • 我在想可能是第一个,因为网络浏览器不必将所有ul 元素设为字体大小a 元素设为大小.
  • 您的基准测试显示了什么?
  • 性能提升可以忽略不计。这是一个很小的例子....但作为最佳实践,较少的选择器会更好,因为它会减小您的 css 文件的大小,因此对它的 http 请求会更小,并且具有较低的特异性可能更多高效......但再次......在这个例子中......收益基本上是0。虽然这两条规则并不是真正可比的。一种样式 &lt;a&gt; 标记和其他样式 anything&lt;ul&gt;
  • 即使是这些选择器的足迹和特异性也基本上不是问题。
  • 是的,同意...应该有不同的类别来结束这种性质的问题。

标签: css performance css-selectors


【解决方案1】:
ul a {
    font-size: 1.25rem
}

如果你想捕获ul/ol标签内的每个锚标签或任何标签,这是最好的

但在性能方面,

ul {
    font-size: 1.25rem
}

这将是最好的。但是如果你想修改标签的内置 css 属性,比如锚的颜色属性,那么你将不得不使用第二个选项来迭代每个孩子

【讨论】:

  • 它不适用于ol,仅适用于ul
  • 两者都适用。我认为这是关于父母和孩子的关系。 parent_tag children_tag {css_attribute:attribute_value}
  • 你需要ul a, ol a 来做这两件事
猜你喜欢
  • 2015-06-10
  • 1970-01-01
  • 2014-07-26
  • 1970-01-01
  • 2017-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多