.nav {
.inner {
...
}
}
.inner {
...
}
}
這個結構表示 .nav 裡面的 .inner。所以會會匯出:
.nav .inner { ... }
接下來我們看看,若要選擇多個子元素要如何應用:
.nav {
.inner, .content {
...
}
}
.inner, .content {
...
}
}
如此 .inner 與 .content 都會繼承到 .nav 這個父元素。所以會會匯出:
.nav .inner, .nav .content { ... }
有時候會用到 a:hover 之類的選擇器,就必須使用到&符號:
a {
&:hover {
...
}
}
&:hover {
...
}
}
&即代表“目前所在的選擇器(沒有空格)”,因此會匯出以下 code:
a:hover { ... }
相同道理:
div {
&.inner {
...
}
}
&.inner {
...
}
}
會匯出:
div.inner { ... }
另外,巢狀標籤也可以反向繼承,比如說:
.nav {
body & {
...
}
}
body & {
...
}
}
前面說明&即代表“目前所在的選擇器”,相同道理,在這裡即會會匯出:
body .nav { ... }
別忘了 SCSS 與 CSS 是完全相容的,並不一定每一層都要展開來寫:
.nav ul {
li a {
...
}
}
li a {
...
}
}
會匯出:
.nav ul li a { ... }
暸解了 SCSS 的巢狀結構之後,是不是覺得與原本的 CSS 差不多,很容易上手呢?
其實只要稍微了解 & 號的作用,大部分的邏輯就相當簡單了。
沒有留言:
張貼留言