「正しい」などのクラス名を使用するのは悪い習慣と見なされていますか?
質問
" left"、" right"、" clear"などのクラス名がある場合およびxhtmlのような
<a href="index.php" class="right continueLink">Continue</a>
CSSのような
.right {
float: right;
}
セマンティック名ではないことは知っていますが、場合によってはもっと簡単になります。
とにかく、あなたの考えはどうですか?
解決
これは非常に良い考えではないと思います。あなた(または将来のメンテナー)がWebサイトのレイアウトを変更する場合、 .right
を {float:left;}
に変更する必要があります(明らかに悪いです)または、すべてのHTMLファイルを調べて、 right
を left
に変更します。
特定のリンクを右にフロートさせ、他の .continueLink
はフロートさせたくないのはなぜですか?その質問への回答を使用して、そのリンクのよりわかりやすいクラス名を選択します。
他のヒント
cssは、htmlページの 構造 の表示に関するものです。
クラスの意味は、ドキュメントの構造を表している必要があります(「記事」、「追加リンク」、「用語集」、「紹介」、「結論」、...)。
physical 表現(「left」、「right」、「footnotes」、「sidenotes」、...)にリンクされているクラスは避ける必要があります。これは、 Zen Garden が明確に示しているので、divを非常にさまざまな方法で配置することを決定できます。
純粋主義者はそれをしないと言い、プラグマティストはそれはいいと言うでしょう。しかし、純粋主義者は .right
を float:left
として定義しますか?
混乱を避けるために、CSS仕様の値と同じ名前を避けることをお勧めします。特に、複数の開発者が同じアプリケーションで作業する状況では。
それ以外は問題ありません。次のように、右または左の名前を修飾します:menuleft、menurightなど。
純粋主義者であるから、それをしないではいけないと言う。前述の理由により。
プラグマティストとして、CSSなしの純粋なHTMLの変更、またはHTMLなしの純粋なCSSを含むWebサイトのリワークを見たことがありません。したがって、実際には、他の誰かがページを変更する必要がある場合、給与がhtmlとcssの両方を変更すると確信しています。
上記は、周囲の同僚の純粋主義者が現実であるにもかかわらず、しばしば無視する傾向があるものです。しかし、一番下の行;いいえ、「right」などのclassNameの使用は避けてください。 :-)
.rightおよびそのような他のクラスにより、確かに float:right
ルールが付加されたタグを作成するのが簡単になりますが、この方法には利点よりも欠点があると思います:
多くの場合、単一の float:right;
を含むクラススタイルには何かが欠けます。この例は、他のクラスルールに display:block
その中には、「a」タグはブロックレベルの要素ではありません。また、フローティング要素には、多くの場合、幅と高さを付ける必要があります。これは、例のコードが言うことをするために追加のコードが必要であり、CSSを変更する必要がある場合、2つの場所で検索する必要があることを意味します。
ページを一意のIDを持つ異なるdivタグに分割し、このような継承によってこれらのdivの要素をスタイル設定することで、HTMLのスタイルを設定する傾向があります。
div#sidebar { float:right; width:200px; }
div#sidebar ul { list-style-type:none; }
これにより、cssファイルをパーティション化できるため、特定のタグのスタイルを設定するcssコードを簡単に見つけることができますが、.rightなどのクラスを導入すると、ルールを異なる領域に分散し始めますcssファイルにより、サイトのメンテナンスがより難しくなります。
非常に汎用的なクラスを持つという考えは、スタイルシートのいくつかのルールを変更することでサイトのレイアウト全体を変更できるようにするという願いから生まれたと思いますが、私は8年間で30以上のさまざまなサイトを使用したウェブサイト開発、私のウェブサイトの下では、ウェブサイトのレイアウトを変更してHTMLを再利用したことがありません。
私が何度もやったことは、デザインの小さな変更または新しいブラウザの導入のために、ページの領域を少し調整することです。だから私は、CSSを探しているルールを簡単に見つけられるようにきちんとしたチャンクに分割し、短いスタイルシートを実現するためにコードを別の場所に配置するのをやめたいと思っています。
よろしく ジェスパー・ハウジ
ええ、意味的には間違っていますが、たとえば、ボディコピーのブロック内に画像を配置し、クラスに「正しい」クラスを与えることがあります。
たぶん&quot; alt&quot;より適切なクラス名です。