css - LESS 中的分层/嵌套样式

标签 css less

为了更好的可读性和更清晰的代码,我在 LESS 中使用嵌套样式,如下所示:

.item {
    .title {
        /* ... */
    }
    .content {
        /* ... */
    }
}

问题是它编译成的后代选择器,例如:

.item .title {
    /* ... */
}

据说对性能非常不利。对于现代浏览器来说仍然如此吗?如果是这样,还有什么选择? (我的目标是组织代码,我可能真的不需要后代选择器。)

最佳答案

据我所知,.item .title 是在 .item 中选择 .title 的唯一方法( .item > .title 如@Oriol 所述,在某些情况下也可能有效)。 Less 使您能够嵌套此关系。

当你不需要那个关系时,你也不应该将它嵌套在你的 Less 代码中。可能使用注释来明确一组选择器属于某个其他选择器。或者考虑 BEM 方法,参见 http://csswizardry.com/2013/01/mindbemding-getting-your-head-round-bem-syntax/ , 那么 .item .title 可以写成 item__title {}.

关于css - LESS 中的分层/嵌套样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28398171/

相关文章:

html - 如何创建独立的框架?

javascript - Bootstrap select searchable 在另一个下拉列表中选择

jquery - 如何修复 bootstrap 下拉菜单隐藏的溢出?

css - 是否可以在 less 中创建所需的类作为嵌套类?

css - Symfony 2.3 - 使用带有 LESS 的 Twitter Bootstrap 3,通过 composer setup 作为供应商安装,无法访问 Glyphicons 字体

css - 使用 CSS 设置默认字体

html - 垂直对齐中间在跨度元素中不起作用

c# - LESS 到 CSS 的转换是在客户端还是在服务器端完成的?

css - Mixin 属性作为另一个 mixin 的参数?

css - 如何在 LESS 编译器中抛出错误