第4章 高度な機能を覚えてSassを使いこなそう
4-3 ネストしているセレクタをルートに戻せる @at-root
@at-root の基本的な使い方
.block { .element-A { width: 80%; } @at-root .element-B { width: 100%; } }
.block .element-A { width: 80%; } .element-B { width: 100%; }
複数のルールセットに@at-root を適用する
.block { .element-A { width: 80%; } @at-root { .element-B { width: 100%; } .element-C { width: 50%; } } }
.block .element-A { width: 80%; } .element-B { width: 100%; } .element-C { width: 50%; }
@at-root をメディアクエリ内で使った場合
.block { width: 50%; @media (max-width: 640px) { width: 100%; @at-root { .item { margin-bottom: 30px; } } } }
.block { width: 50%; } @media (max-width: 640px) { .block { width: 100%; } .item { margin-bottom: 30px; } }
@at-root のオプション @at-root(without:...)
.block { width: 50%; @media (max-width: 640px) { width: 100%; @at-root (without: media) { .item { margin-bottom: 30px; } } } }
.block { width: 50%; } @media (max-width: 640px) { .block { width: 100%; } } .block .item { margin-bottom: 30px; }
.block { width: 50%; @media (max-width: 640px) { width: 100%; @at-root (without: media rule) { .item { margin-bottom: 30px; } } } }
.block { width: 50%; } @media (max-width: 640px) { .block { width: 100%; } } .item { margin-bottom: 30px; }
@at-root のオプション @at-root (with:...)
.block { width: 50%; @media (max-width: 640px) { width: 100%; @at-root (with: media) { .item { margin-bottom: 30px; } } } }
.block { width: 50%; } @media (max-width: 640px) { .block { width: 100%; } .item { margin-bottom: 30px; } }