SASS セレクターでアンパサンド (&) を使用する方法: ミックスインによるネストの課題を解決する

Mary-Kate Olsen
リリース: 2024-10-30 05:00:02
オリジナル
271 人が閲覧しました

How to Use the Ampersand (&) in SASS Selectors: Solving Nesting Challenges with Mixins

SASS セレクターのアンパサンド (&): 使用法と回避策

CSS の前処理言語である SASS では、アンパサンド (&) 記号が使用されます親セレクターを表すため、コードの再利用と保守が可能になります。ただし、アンパサンドを末尾またはセレクターの一部として使用すると、問題が発生する可能性があります。

問題の概要

LESS の動作を模倣することを目的としたミックスインには、アンパサンド (&) が末尾にあるため、不正な出力が発生します。望ましい結果は、以下に示すように、呼び出し元クラスが後続の各レベルに追加されるネストされたセレクターのセットを生成することです。

.callerClass .foreverAlone{
    ...
} 

.callerClass .iThink .illNeverWork.callerClass{

    color: $pinkUnicornRainbow;
    ...
}
ログイン後にコピー

Solutions

For Sassバージョン 3.2 以下では、親セレクターを使用する有効な方法は次のとおりです。

&, &.bar, &#bar, &:after, &[active]
ログイン後にコピー

Sass 3.3 では、次の構文が追加されています。

&bar, &-bar
ログイン後にコピー

Sass 3.4 では、新しい機能が導入されています。アンパサンドは変数に割り当てて @at-root ルール内で使用できます:

$foo: &;
ログイン後にコピー
@at-root bar#{&} {
    color: red;
}
ログイン後にコピー

問題への適用

指定されたミックスインに対処するには、アンパサンドは、次のように呼び出し元クラスと組み合わせて使用​​する必要があります:

@mixin button-variant($color, $background, $border)
{
    ...
    .callerClass&.foreverAlone{
        ...
    }

    .callerClass&.iThink .illNeverWork.callerClass& {

        color: $pinkUnicornRainbow;
        ...
    }
}
ログイン後にコピー

以上がSASS セレクターでアンパサンド (&) を使用する方法: ミックスインによるネストの課題を解決するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!