2

idCSS でスタイルを設定する目的で、HTML 要素に属性を使用してはならないという話をよく耳にします。しかし、これは常にそうですか?アプリケーション ( ul) にクラスを持つ複数のリストがあるとしますhorizontal-list。ただし、それぞれに独自のスタイルを適用したいul場合は、 を追加しidてこのように使用できますか?

#food .horizontal-list {

}

#food .horizontal-list li {

}

ここでは、要素を分離するためにのみ使用します。または、一意のリストごとに代わりにクラスを作成することになっていますか。「スタイリング目的で使用しないでください」はid's、このように使用する場合にのみ適用されますか?

#food {
    /* loads of attributes */
}

IDを使用してもよい場合を誰か説明してもらえますか?

4

5 に答える 5

7

これは、 CSS Lint is illegalの記事からよく述べられていると思いました

ID は非常に便利であり、絶対に使用する必要があります。これらは、ブラウザーが特定の要素を選択できる最速の方法です。これらはページ内のアンカーに役立ちます。マークアップに既に存在する場合は、スタイル フックとして使用します。また、奇妙なことに、特定のページでその ID のインスタンスが 1 つだけである限り、完全に正しく使用できます。

「セレクターの特異性」に関する議論は、せいぜい悪いルールを正当化するためのストレッチです。CSS を適切に作成すれば、特定性の罠に陥ることはありません。さまざまな種類と規模の Web サイトで生計を立てるために CSS と HTML をコーディングしてきた 6 年間で、これが問題になった回数は数え切れないほどあります。

このルールが正確であると言えるのは、ID を使用して特定の HTML チャンクをスタイル設定し、サイトのどこでも使用できるようにする場合だけです。たとえば、ユーザーが CMS を介して任意のページに含めることができる HTML ギャラリー ウィジェットのスタイルを設定するために使用している場合です。1 ページに複数指定することもできます。しかし、それが懸念されるのは一度だけです。

例での方法は正しいです。CSSで複数回宣言しても問題ありませんid。要素で複数回使用したくないだけです。

于 2012-04-19T19:48:46.623 に答える
1

ID とクラスの両方を CSS スタイリングに使用するのはまったく問題ありません。

  • 一意の要素にはIDを使用します。つまり、各 ID を複数回使用することはできません。
  • 要素の分類とラベル付けにはクラスを使用します。詳細: HTML/CSS のベスト プラクティス
于 2012-04-19T19:45:41.130 に答える
1

http://webdesign.about.com/cs/css/qt/tipcssclassvsid.htmから

次の場合は class タグを使用します。

  1. このスタイルは、ドキュメント全体のさまざまな場所で使用されています。
  2. スタイルは非常に一般的です。

次の場合は id タグを使用します。

  1. スタイルはドキュメント内で一度だけ使用されます。
  2. スタイルは、ドキュメントの特定の領域に固有です。

id は、HTML ドキュメント内で 1 回しか使用できないことに注意してください。一度使用した ID は、そのページで再度使用しないでください。

http://css-tricks.com/the-difference-between-id-and-class/に長い説明があります

于 2012-04-19T19:50:36.167 に答える
0

基本レイアウト用の基本クラスと、追加の変更用の他のクラスが必要です。id は、要素を参照する必要がある場合 (たとえば、ajax リクエストやフォームなど) にのみ使用する必要があります。複数のクラスを使用しても問題はなく、変更が容易になります。

また、覚えておいてください: id を 2 回使用すると、無効なマークアップが発生します。

于 2012-04-19T19:41:46.437 に答える
0

あなたの例のように、idは特定の要素のスタイルを設定するために使用されます。スタイルを特定の要素のみに制限する必要がある場合に ID を使用するのに最適です

于 2012-04-19T19:42:40.923 に答える