通常、私はブラウザの機能を見つけるためにmodernizrを使用します。同時に、私はLESS CSSを使用して、cssをより読みやすく保守しやすくしています。LESSネストルールを使用する一般的なスタイルは次のようになります。
#header {
color: black;
.logo {
width: 300px;
color: rgba(255,255,255,.6);
&:hover { text-decoration: none }
}
}
次に、modernizrスタイルのフォールバックを使用する場合は、前のブロックに次のテキストを追加します。
.no-js #header,
.no-rgba #header {
.logo {
color: white;
}
}
したがって、コードのブランチが2つあるように見えます。別の互換性の側面を確認する必要があるたびに、ブランチの数が増えます。すべての要素に適用されているすべてのスタイルを見つける必要があり、ネストされたクラスを使用して得られる利点がなくなるため、このコードは保守性が低くなります。
質問:LESS構文にそのようなフォールバックを含め、.no-jsおよびその他の.no-smthクラスの新しいコードブランチを開始しない方法はありますか?