2012-03-26 95 views
1

我试图实现在更短的情况如下:使用继承使用Less的问题?

nav > ul > li:first-child 

nav { 
     ul { 
      li:first-child { 

然而结果却是:

nav ul li:first-child 

人能解释这两个CSS结果之间的差异也告诉我如何使用少得到结果“nav> ul> li:第一个孩子”

回答

2

>被称为子组合子。

它选择了“直接继承/子”,这正好是一个级别低于它的父而正常风格选择父下的所有子元素。

<div id="level-1"> 
    <div id="level-2"> 
    <div class="level-3"></div> 
    <div class="level-3"></div> 
    </div> 
</div> 

#level-1 > div{} /* <- matches #level-2 div */ 
#level-1 div{} /* <-matches #level-2 and both .level-3 divs */ 

澄清我加入Fiddle

为青菜,你可以使用:

#level-1{ 
    > div{ 
    } 
} 
1

CSS中的正常操作是“后裔”。当你没有表达不同的关系时,那就少了。如在此情况下, “童”:

nav { 
    > ul { 
     > li:first-child { 

或者, “下面的兄弟”:

nav { 
    + ul { 
     + li:first-child {