• ベストアンサー

指定したidやclass以外の要素を指定するには

cssで特定のidやclassを持った要素を指定することは常識ですが 指定したidやclass以外の要素を指定する方法はありますか? 例えば#mainというidを持ったdiv要素を除いた全てのdiv要素を指定するなど。 本来は共通のクラスを割り当てるのが正しいやり方だと思いますが、、、

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>例えば#mainというidを持ったdiv要素を除いた全てのdiv要素を指定するなど。 全てのdivを対象に設定をして、#mainに別の設定をするのではまずいのですか?

その他の回答 (2)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.3

>cssで特定のidやclassを持った要素を指定することは常識ですが >本来は共通のクラスを割り当てるのが正しいやり方だと思いますが  そもそも、これが根本的な間違いです。  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^  idやclassは、HTMLに文書構造を表す適当な要素がない時の最後の手段として、idやclass名をつけてその要素(ブロック要素、またはインライン要素)の文書構造を示すための物です。スタイルシートのためにつける物ではありません。 HTML4.01strict 『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するため( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )』 HTML5 『div 要素を、他に適切な要素がないときなど、最後の手段の要素として見なすことが、強く推奨されます。( http://www.html5.jp/tag/elements/div.html )』 ★HTMLは、デザインのためではなく【文書構造】をマークアップする物です。 ★スタイルシートはその文書構造に基づいて、プレゼンテーションを指定していく物です。  スタイルシートを学ぶには、まず ・正しいHTMLの作成方法 ・セレクタ( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/selector.html ) ・値の割り当て、カスケード処理、継承( http://www.swlab.it.okayama-u.ac.jp/man/rec-css2/cascade.html )  を身につけることが必須です。 例 タイプセレクタ(HTMLの要素) p{color:red;}/* 詳細度[0,0,0,1]*/ クラスセレクタ p.memo{color:black;} /* 詳細度[0,0,1,1]*/  class属性の値のリストにmemoを持つもの 隣接セレクタ p.memo + p{margin-top:2em;}/* 詳細度[0,0,1,2]*/  p.memo の次にp要素があるときは・・

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

はい.

参考URL:
http://www.w3.org/TR/selectors/#negation