BEM
   
   結構,這邊先不用理解 BEM 是什麼,之後會有單獨的文章做介紹,此時的編譯結果為:
  
  
   
    
     
      | 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | .list {display: flex;
 }
 
 .list__item {
 color: red;
 }
 
 .list__item--active {
 color: blue;
 }
 
 | 
    
   
   
  
   由於
   
    &__item
   
   與
   
    &--active
   
   都使用了父選擇器,故最後的編譯結果就都與
   
    .list
   
   同階層,這應該蠻好理解的,在實務中,我也很常使用此技法來撰寫樣式,可有效提升其閱讀性,這邊要注意,前面都是將
   
    &
   
   放置在 CSS 選擇器之前,你也可以把它放在 CSS 選擇器之後:
  
  
   
    
     
      | 12
 3
 4
 5
 6
 7
 
 | .menu {max-height: 0px;
 
 .open & {
 max-height: 300px;
 }
 }
 
 | 
    
   
   
  
   編譯結果為:
  
  
   
    
     
      | 12
 3
 4
 5
 6
 7
 
 | .menu {max-height: 0px;
 }
 
 .open .menu {
 max-height: 300px;
 }
 
 | 
    
   
   
  
   是不是覺得很熟悉?這不就是 hamburger menu 的手法嗎?以往我們都得在額外區塊撰寫樣式,現在利用
   
    &
   
   即可輕鬆完成任務,且很明顯的可以看出兩者是有其關聯性的,並不像之前散落在各自的區塊上。