在现代HTML编码中,将一些类名添加到诸如
之类的元素中很常见<div class="class1 class2 class3 class4 ..."
</div>
这使我们可以非常灵活地混合CSS属性,而不必为不同的类重复它们。
逻辑上,浏览器消耗更多资源来收集不同类的CSS属性以应用于相应的元素。
由于难以对此运行可靠的基准,我从理论的角度提出这个问题。想象一下,页面的大多数HTML元素都有几个类(例如10个类)。这会使页面渲染更加困难和缓慢吗?这种放缓是否合理且相当可观?
一般来说,浏览器从不同类中读取属性的常见过程是什么?
答案 0 :(得分:0)
添加许多类的兴趣是为各个样式设置单独的类,而不是重复/为同一用途创建新类。
例如,如果我有一个按钮,我可以有3个类,如.btn .big .grey
。如果我想创建另一个按钮,我只需要重复.btn类,并添加我的其他自定义类,如.medium
和.green
。它被称为OOCSS(Oriented Object CSS)。
关于性能,我建议你看一下这个小例子http://www.css-101.org/descendant-selector/go_fetch_yourself.php,http://csswizardry.com/2011/09/writing-efficient-css-selectors,你可以找到很多关于ids与类的表现的文章。
答案 1 :(得分:0)
多个类可以更轻松地向元素添加特殊效果,而无需为该元素创建全新的样式。例如,您可能希望能够快速向左或向右浮动元素。你可以用“float:left”来写两个“左”和“右”的类。并且“浮动:正确;”在他们中。然后,只要你有一个元素你需要向左浮动,你只需要将类“left”添加到它的类列表中。
我喜欢将多个类用于我希望在整个站点中保持标准的内容。例如,如果我总是希望底边距为10px的元素的底边距。通过创建一个仅包含botom-margin的类:10px;我可以在任何需要的地方添加它。
多个类的缺点
虽然主流浏览器支持它们,但旧版浏览器并不支持它们。因此,您应该确保列出的第一个类是具有该元素最具体信息的类。
当您对元素应用越来越多时,多个类也会变得非常混乱。
要点: