And*_*ndy 10 html css css-selectors
我不知道选择元素的最佳(最有效)方法是什么.
可以说我有以下布局(非常简单的例子)
<div id="navigation">
<ul>
<li>Link 1</li>
<li>Link 2</li>
<li>Link 3</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
#navigation ul {}还是为UL分配一个类?navigation ul li{}还是分配课程?#navigation ul li:first-child {}为其设置样式,我应该这样做还是分配一个类?我很欣赏这些问题几乎是一样的,但是我很好奇你何时应该使用一个课程而不是什么时候.
Bon*_*nyT 12
这里没有硬性和快速的答案.
一般的经验法则可能是当你想组的某些元素结合在一起,把他们相同,并使用一类是做的唯一手段使用类.
例如,在你的最后一个例子中,完全不需要一个类.
但是,使用示例3中的类将获得更好的性能,因为浏览器将更快地找到相关项.与此相反的是代码清晰度的略微降低.如果你在所有内容上都有类名,那么读取其余标记就变得更加困难了.
简而言之,在你上面所展示的内容中,你所写的内容很精致.
你应该阅读此文章虽然涵盖选择效率.
基本上效率的顺序如下:
ID, e.g. #header
Class, e.g. .promo
Type, e.g. div
Adjacent sibling, e.g. h2 + p
Child, e.g. li > ul
Descendant, e.g. ul a
Universal, i.e. *
Attribute, e.g. [type="text"]
Pseudo-classes/-elements, e.g. a:hover
Run Code Online (Sandbox Code Playgroud)
类和Id之间的性能差异通常是无关紧要的.
然而,在列表中走得更远,事情变得相当缓慢.
这不是在任何地方添加类和id的论据 - 它只是让你判断性能和可维护性之间的权衡.