2013-02-15 81 views
1

有没有?LessCSS编码标准

切换到less后,我通常这样的代码最终会:

.topNav{  
    prop: value; 
    ... 

    li{  
    prop: value; 
    ... 

    &:hover{ 
     ... 
    } 

    &.active{ 
     prop: value; 
     ... 

     a{ 
     prop: value; 
     ... 

     &:hover{ 
      prop: value; 
      ... 

      span{ 
      ... 
      } 
     } 

     span{ 
     ... 
     } 

     } 

    } 

    a{ 
     prop: value; 
     ... 

     &:hover{ 
     prop: value; 
     ... 
     }  

    } 

    } 

} 

它是坏?

回答

7

我会说这不太理想。您应该查看http://smacss.com - 关于CSS组织的出色书籍。这不是特别的,有点相关。

其中一个原则与选择的深度有关。部分上面的LESS编译为.topNav li.active a:hover span,它开始变得有点深(至少4,加上列出的层次结构中存在的任何元素)。这个问题将你的CSS紧密地结合到一个特定的HTML结构中。在不破坏CSS的情况下,稍后更改标记更加困难。

LESS提供了很多很酷的工具,但在我看来,嵌套选择器的能力是一个容易被滥用的能力。

+0

+1对于一本书:) – Morpheus 2013-02-15 11:36:09

+0

+1 - 同意嵌套滥用 - 最好的少功能是变量和混合 - 专门用于颜色模板。 – easwee 2013-02-15 12:25:02

+1

+1 - 我打算链接到这本书,直到我看到你的答案。它考虑了如何构建CSS代码,这是我见过的最好的框架。它确实帮助我理解为什么我喜欢我的CSS代码的某些部分,但其他部分却没有正确的味道。 – 2013-02-15 20:33:12