根据谷歌的速度最佳做法(看看他们的网站,你知道他们是对的!),你不应该使用CSS后代选择器。这是因为它必须经常搜索DOM。
因此,如果您想要更改某个部分内所有文章的内容。让我们说:
<section id="others">
<article>
...
</article>
<article>
...
</article>
</section>
要修改此特定部分中的所有文章,您不应该这样做:
#others article {
你应该做
<section>
<article class="others">
...
</article>
<article class="others">
...
</article>
</section>
.others {
但是如果你仍然需要使用所有这些类和ID,那么这些新的HTML5标签有什么意义呢?我的意思是,如果最佳实践是使用类和ID无论如何..
答案 0 :(得分:2)
普通网站极不可能在您提供的方案中看到很大的速度差异。如果您尝试在网络上加载一个最受欢迎的网页you will turn to all kinds of tricks to make it load incredibly fast - 但对于大多数网站而言,这是微优化。
为了让您的选择器超快,您可以确保所有内容都有ID,并在CSS中使用ID,但这会使您的CSS难以维护,而现在最大的成本是开发人员需要花费的时间
最多,您应该尝试降低选择器中的级别,但要完全删除它们并不务实。
需要明确的是 - 这种优化实际上是关于CSS的渲染速度。您是否认为节省时间渲染CSS(几乎没有时间)将使您的Web应用程序更快,因为您使用class="other"
的额外字节使HTML更重?
答案 1 :(得分:0)
谷歌专注于速度。结构中的HTML5。可能需要花费大量时间(我不这么认为)在DOM中搜索,但使用新标签更容易阅读HTML5页面。我的意思是,您可以使用div等制作相同类型的结构,但新标签会强制人们使用它们。另一点是你花时间去弄清楚大量的div做了什么。当您使用时,让我们说文章标签,您知道该内容是文章的一部分。这使开发人员的工作更轻松。