0

根据 Google 的速度最佳实践(看看他们的网站,你就知道他们是对的!),你不应该使用 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。

4

2 回答 2

2

对于您给出的场景,普通网站不太可能在速度上出现很大差异。如果您尝试加载 Web 上最受欢迎的页面之一,您将求助于各种技巧以使其加载速度非常快- 但对于大多数网站来说,这是微优化。

为了让你的选择器超快,你可以确保每样东西都有一个 id,并在你的 CSS 中使用 id,但这会让你的 CSS 很难维护,而且现在最大的成本是开发人员做这些事情所花费的时间。

最多,您应该尝试减少选择器中的级别,但完全删除它们是不切实际的。

需要明确的是——这个优化实际上是关于 CSS 的渲染速度。你认为节省渲染 CSS 的时间(几乎没有时间)会让你的 web 应用程序更快,因为你用额外的字节使你的 HTML 更重class="other"

于 2012-10-29T21:57:29.800 回答
0

谷歌专注于速度。HTML5 的结构。在 DOM 中搜索可能需要很多时间(我不这么认为),但使用新标签阅读 HTML5 页面更容易。我的意思是,您可以使用 div 等创建相同类型的结构,但新标签会强制人们使用它们。另一点是您花时间试图弄清楚大量 div 的作用。当您使用文章标签时,您知道内容是文章的一部分。这使开发人员的工作更轻松。

于 2012-10-29T21:56:46.933 回答