2014-09-05 69 views
0

我在表单外有一个标签,并且标签insode表单。我想用SASS来设置不同形式的标签。这里的HTML:SASS元素内的目标元素

<div class="loginField"> 

<label>...</label> 

    <form> 
     <label>...</label> 

     <label>...</label> 

    </form> 
</div> 

我想我可以这样做:

.loginField 
    { 

     label 
     { 
     //css rules for label outside form 
     } 

     &form{ 

      label{ 
      //css rules for label insode the form 
      } 
     } 
    } 

但是,这不会产生CSS规则内标签 - 他们得到应用相同的样式,表格外的标签。 ..

+0

'&form'?你是什​​么意思?父项选择符是'.loginField',你打算如何组合它们? – 2014-09-05 11:54:50

回答

0

你只需要指定顶级标签的直接子关系

SASS

.loginField 
    { 

     > label 
     { 
     color:red; 
     } 

     & form{ /* note the space */ 

      label{ 
      color:green 
      } 
     } 
    } 

CSS

.loginField > label { 
    color: red; 
} 
.loginField form label { 
    color: green; 
} 
+0

我认为你的意思是*直接后代*或简单*孩子*,因为DOM层次结构中没有间接*子*或* stepchild *。 – 2014-09-05 12:04:18

+0

我认为你不需要'&'这里。 – 2014-09-05 12:04:38

+0

此外,问题发生在选择器中的'&form'部分,&符号&与'form'之间应该有一个空格,或者简单地省略'&'。 – 2014-09-05 12:07:27