h1 elements
上を外したいものがたくさんありmargin
ます。
これに対して を作成するのは正しいですか、それとも次のようclass
に個別にターゲットにしますか?CSS
#comments h1 { margin: 0; }
クラスを使用する場合は、他の要素にも再利用できます。
.nomargin {
margin: 0;
}
はい、それを行うのは完全に良い CSS です。すべてのヘッダー タグが 要素内にあるid='comments'
と仮定し、これらがこのように動作する唯一のヘッダー タグであると仮定します。
この方法でスタイルを設定する要素がより一般的に必要な場合は、クラスを使用することもできますが、スタイルを設定するすべての要素を取得するセレクターが既にあるため、それを使用してください。そのためだけにクラスを作成する必要があると感じるべきではありません。
私は、特定のスタイルを表すクラスよりも構造セレクターを好みます。たとえば、サイトがモバイル デバイスで表示されたときにマージンが必要な場合はどうすればよいでしょうか。クラス名が間違っています。極端な例として、クラスに「blue」や「15-pixel-text」などの名前を付ける場合があります。
構造セレクターは、スタイルシートを読むときにもより直感的です。クラス名がどの要素に適用されたかを考えるのではなく、どこに適用されるかを推測できます。
1 つの考慮事項は、そのようなセレクターは非常に複雑になる可能性があり、クラス セレクターよりもパフォーマンスが低下する可能性があることです。いつものように、厳格なルールはありません。
ちなみに、 LESSまたはSASSを使用すると、開発/保守が容易になります。これはセマンティクスの問題には対応していません。