2014-09-05 67 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