2012-03-15 10 views
13

可能性の重複:
Why selecting by ID is not recommended in CSS?CSSを使用してスタイルIDを使用しないのはなぜですか?

私が代わりにCSSスタイルが、クラスを与えるために「id」属性を使用しないでください無数のスレッドとの記事で読んでいました。

私はクラスが再利用可能であることを知っていますが、それだけでは、それらを使用しないほど十分に強い議論には見えません。結局、IDはjavascriptのために必要です、なぜ彼らはどこにも行かないので、それらを利用しないでください?

誰か私にこれらの意見の理由を教えてもらえますか?

+4

あなたは誰に教えてもらえますか? – m90

+1

これはちょっと厳しいですが、初めてページ上の複数の要素に定義を使用する必要がありますが、あなたはfoobarです。 – xandercoded

+2

[csslint](http://csslint.net/)は厳密にIDセレクタを使用します。 – zzzzBov

答えて

13

スタイリングIDはDRYの原則に反するので、避けるべきことはとなります。 1つのオブジェクトをスタイルする必要があり、それがページ上の他のものと共有されないことがわかっている状況があるので、とは決してスタイルIDはメンテナンス可能性のリスクを認識している限り、あなたの仕事を終わらせるためにあなたがしなければならないことは受け入れられます。

+1

javascriptを使用してDOMから要素を選択する場合、IDは良好です。このタスクに使用された要素の1つがjQueryスライダのコンテナのようになります。 – Tomasz

+0

私は同意しますが、これはJavaScriptではないJavaScriptに関する質問です。 – JaredMcAteer

+2

これがコメントではない理由です;) – Tomasz

16

IDセレクタの使用を避ける特別な理由はありません。あなたが読むすべてを信じてはいけません。

つまり、IDですべてをスタイリングしていると、クラスの利点を失うことになります。

3

スタイリングはidですが、通常は、の例外にのみ使用して、クラスを再利用できるようにする必要があります。たとえば、次のように

<div id="myid" class="box"></div> 
.box { 
    padding:1em; 
    border:1px solid #ccc; 
    color:#222; 
} 
#myid { 
    padding:2em; 
} 

あなたはidによって主にスタイリングされている場合、それはあなたが冗長CSSを書くとクラスと十分なカスケードを利用していないことも示唆しています。

6

あなたがIDを使用する際の目安を探しているなら、ここで私がして、コード一つだ:

IDのは:など#topトップとして反復されることはありません

  • トップ要素、 、#wrapper、#footer etc
  • 外部スクリプトなどで識別する必要がある項目。
  • <a name="anchor_name" id="anchor_name"><a>状況。良いコーディング方法は、アンカーにIDを与えることです。
関連する問題