パーサスのドキュメント:どこでも拡張セレクタが表示されたスタイルシートに延びるセレクタを挿入してサス@extend発注 - 必要性の回避策
@extend
作品。
これは私に大きな闘争を引き起こしています。具体的には、私は拡張する必要があるSassコードを持っています(私はそれが実用的ではないことを理解しています):
私はその後、私の地元のSCSSコード持っている:私は最後のa.disabled
セレクタを置く
/* These styles are available for modification */
a:link { @extend %base-link }
a:hover { @extend %hover-link }
a.disabled
{
@extend %disabled-link;
cursor: default;
}
注意を、特異性の点で他のすべてが同じB/Cは、私は他のすべての切り札にa.disabled
ルールをしたい(すなわちI disabled
リンクが上がったときにリンクが黒くならないようにしてください)。
完全性については、HTMLマークアップ:
<a href="http://www.pittsburghpenguins.com">Pittsburgh Penguins</a><br>
<a href="http://www.philadelphiaflyers.com" class=disabled>Philadelphia Flyers</a><br>
(JSFiddle)
適切なカスケードはdisabled
クラスでハイパーリンクがホバーにグレーのままにすべきことを指示するだろう(私はhover
後にそのルールを置く理由ですルール)。しかし、bass Sassはクラスをスタイルシート内のextended
クラスの場所に移動しています。順序は変わり、カスケードは違反します。彼らは効果的に私のCSSの意図を変えています。
これを回避する方法はありますか?
ありがとうございます。明らかだったはずです。疑いがあるときは、特異性を高めましょう!実際のケースでは、ホバールールに:not(.disabled)を追加するほうが効果的でしたが、同じ考え方でした。 Sassがこの「機能」を使って私のスタイリングコードの意味を根本的に変えているという事実を回避するのは、まだ不必要な作業であると感じています。 – CranMalReign