html - CSS下拉菜单: What is the fastest selector?

标签 html css performance drop-down-menu css-selectors

我的页面上有一个由无序列表组成的多级导航菜单。该列表具有 menu 类,如下所示:

<ul class="menu">
    <li><a href="#">Category 1</a></li>
    <li><a href="#">Category 2</a></li>
    <li><a href="#">Category 3</a>
        <ul>
            <li><a href="#">Subcategory 1</a></li>
            <li><a href="#">Subcategory 2</a></li>
        </ul>
    </li>
</ul>

出于说明目的,href 属性设置为 #

我的问题是:就速度而言,对于此类菜单使用的最佳选择器是什么?

目前我正在使用类似的东西(同样,只是为了说明,缺少规则):

.menu {
    background-color: #CCC;
}

.menu li {
    background-color: #FFF;
}

.menu li > ul li ul {
    background-color: #333;
}

在这种情况下,类是最快的选择器吗?或者我应该使用像 .navigation-container ul 这样的东西?您有什么建议吗?

最佳答案

简单的选择器比复杂的选择器更快。例如,.menu.menu ul 更快,但没有显着差异。

你拥有的一切都很好。您也许可以尝试使 .menu li > ul li ul 变得不那么复杂,但不要期望注意到任何差异,因为您可能可以减少一两毫秒的渲染时间。

这里有一些关于高效 CSS 选择器的阅读:http://csswizardry.com/2011/09/writing-efficient-css-selectors/

关于html - CSS下拉菜单: What is the fastest selector?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18856570/

相关文章:

javascript - 如何让选项无论输入值是什么都始终显示?

javascript - 手机网站滑动菜单默认不隐藏,可滚动

WPF 性能加载用户控件

javascript - 可以覆盖多个模块吗?

javascript - 通过 PhoneGap 像 GPS 一样移动 map 上的标记

jquery - 将 0.05 变成 5% jquery 或 javascript

html - 将div放在父div的底部

jquery - 改变 CSS pending if else of class

r - 提高 R 中 data.table 中两列的粘贴速度(可重现)

performance - 如何提高 MongoDB 中 update() 和 save() 的性能?