#?SuikaWiki/0.9 * class 属性 (HTML, XHTML 1) [1] [DFN[[CODE(HTMLa)[class]]]] 属性は、[[要素]]に[DFN[[[級]]]] (の集合) を割り当てます。 この属性はほとんどの [[HTML]] の要素型で定義されています。 この属性は [[HTML4]] 的には [CODE[[[cdata-list]]] 型, [[SGML]] 的には [CODE(SGML)[[[CDATA]]]] 型です。 級は複数個指定できますが、そのときは[[空白]]で分離します。 を参照。 [2] 文書の構成単位である[[要素]]は、 [[一般識別子]] ([[要素型名]]) で分類されているわけですが、 級はそれを更に細分化するために使えます。 しかしながら要素型を越えて同じ級名を与えることもできます。 であるから要素型と級は直行するものでもあります。 [WEAK[だからといって、そうすることによって必ずしも同じ級なら同じ仲間とは限りません。その辺は運用に任されています。同じ要素型でも、文脈によって同じ級名が違って扱われることになるかもしれません。]] [3] 仕様書 で用途例として挙げられているのは、 - [[スタイル・シート]]の[[選択子]] - [[UA]] による一般目的処理 です。 [4] スタイルシート, 特に [[CSS]] と [CODE(HTMLa)[class]] 属性の結びつきは強く、特に級選択子が用意されているほどです。 歴史的には [CODE(HTMLa)[class]] 属性は CSS で使うために定義されたといっても過言ではありません。 とはいえ、現在の [CODE(HTMLa)[class]] 属性の用途はあくまで要素の分類付けであって、 スタイルシートでの使用は一用途に過ぎません。 [[表現と構造の分離]]の原則に則り、 極度に表現に偏った [CODE(HTMLa)[class]] 属性の使用法は避けるべきです。 - [5] [CODE(HTMLa)[class]] 属性は複数の級名を間隔で分離して列挙できますが、古い [[UA]] (ブラウザや [[AuthoringTool]] など) はこれに対応していないものもあります。 [[DOM]] の [CODE(DOMa)[[[className]]]] を無加工で使っているスクリプトの類なんかも危ない。 - [6] [WEAK[2004-03-03 09:02:52 +00:00]] ''[[名無しさん]]'': [[ISO-HTML]] の注釈に [CODE(HTMLa)[class]] は comma separated とか書いてあるけど、あれは一体なんなのだろう。。。 [[#comment]] * メモ