less嵌套时怎样写更好

用了一段时间less,一直被一个问题困扰.
下面的例子在less中怎样写更好?

<ul class="ul">
    <li><a href=""></a></li>
</ul>

方法1

.ul{
    li{
        a{
            &:hover
        }
    }
}

方法2

.ul{
    li{

    }
    li a{
        &:hover
    }
}

虽然最后结果都是一样的,个人感觉第二种看起来能方便一些.但是根据他的&:hover写法,又觉得应该使用第一种.
请问大家平时是用怎样的规范去写嵌套的?
如果有更多的子元素呢?

阅读 9.8k
2 个回答

css要尽量减少嵌套,一是因为性能,一是因为嵌套带来的权重规则会变得复杂,还要多输入一些字符,于机器于人都不利

less带来了嵌套,让我们可以写更少的字符实现嵌套,但却无法避免另外两个问题,上面的代码写成下面这样会更好:

.ul{
    li{

    }
    a{
        &:hover
    }
}

考虑li > a和li其它元素之间的关系。如果跟其他元素紧密,那就放在li的嵌套里,否则就跟li独立开来。

如无必要,勿增嵌套。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题