私は CSS プリプロセッサに取り組んでいます。つまり、出力 HTML がどうなるかを決定する神の力を持っているということです。ブラウザーが下位レベルの要素にスタイルを適用する方法に関する情報を見つけることができませんでした。どちらの方がよいですか?
width: 100%があり、これをいくつかの要素に適用する必要があるとしましょう。
body { width: 100%; }
header { width: 100%; }
footer { width: 100%; }
これは、次のように書くこともできます。
body, header, footer { width: 100%; }
これにより、CSS のサイズが小さくなります。ただし、これは、たとえばフッターに別のスタイルを適用したい場合、次のような結果になることも意味します。
body, header, footer { width: 100%; }
footer { font-size: 23px; }
そしてここで質問です - フッター要素は CSS で 2 回書かれています。これは、ブラウザーがこれをより遅く解析することを意味します。
body, header { width: 100%; }
footer { width: 100%; font-size: 23px; }
セレクターの組み合わせは良いことだと思います。ただし、プリプロセッサがこれを実装し始めると、次のようなスタイルが出力されます。
.login-box { margin-top: 10px; }
.login-box { font-weight: bold; }
これは、margin-top に一致する別の要素があると考えているためです。たとえば、10pxです。それで、これは問題ですか。つまり、私がたくさん持っている場合
.login-box { margin-top: 10px; }
.login-box { font-weight: bold; }
すべてが 1 か所にあるわけではありません。
.login-box { margin-top: 10px; font-weight: bold; }
PS質問は特異性に関するものではありません
==================== 編集 01 ====================
ここにいくつかのSASSコードがあります:
%full-width {
width: 100%;
}
%margin-reset {
margin: 0;
}
body {
@extend %full-width;
@extend %margin-reset;
}
そして、出力は
body {
width: 100%;
}
body {
margin: 0;
}
問題は、それが実際に正しいかどうかです。プリプロセッサが次のように出力した方がよいのではないでしょうか:
body {
width: 100%;
margin: 0;
}