XHTML において,要素に対してその性質や補助的情報を属性として与える。本節では,多くの要素の種類に共通の,基本的な属性について説明する。
コア属性は,ほとんどの要素の種類が持つ属性である。
属性名 | 属性値 | 備考 |
---|---|---|
id | ID | 文書中でその要素を識別できるような名前 |
class | 名前トークン | その要素をグループに属させる名前;空白で区切って複数指定可 |
title | 文字列 | その要素についての補足的な情報 |
id
属性 id
属性には,その文書中で重複しない,その要素の名前を与えることができる。逆に言えば,文書中に同一の id
属性の値を持つ要素は複数存在してはならない。
この名前は,要素を“これ”と特定し,指し示すのに用いられる。たとえば,ハイパーリンクの設定先として,その要素をダイレクトに指し示すことができる。
<h2 id="section02">Section 2</h2>
という要素があったとき,文書内からは,
<p> <a href="#section02">Section 2</a> で述べたように……</p>
と id
属性の値にハッシュ記号「#
」を冠してハイパーリンクを設定することで,上記の要素の位置に移動するホットスポットが作成される。文書外からは,たとえば,
<p> <a href="chap03.htm#section02">Chapter 3 の Section 2</a> で述べたように……</p>
のように URI に続けてハッシュ記号,続いて id
属性の値を指定する。この機構については,Sectoion 12 で改めて説明する。
この,ハッシュ記号以下をフラグメント識別子という。さらに,フラグメント識別子のみを指定した形式は,空の URI を指定したとみなし,これは RFC2396 での定義により“現在の文書”となる。すなわち,URI を指定しないものは,一種の特別な場合である。
XHTML 1.0 以前では,フラグメント識別子に a
要素の name
属性を指定して同様の役割を負わせることができたが,XHTML 1.1 ではこの属性はなくなっている。
id
属性の値は,数字・ハイフン「-
」・ピリオド「.
」で始まってはならない。また,XML の仕様により,先頭が“xml
”(大文字小文字を区別しない)で始まる値は許されない。さらに,含んではならない記号もある。詳細は省略するが,id
属性の値には,記号を使用しないほうが無難であろう。
また,id
属性は,スタイルシートやスクリプトで,要素を特定する際にも使用される。たとえば,CSS では,特定の id
属性の値を持つ要素にスタイルを適用させる“ID セレクタ”があり,JavaScript などでは,要素を操作する際,ターゲットとなる要素を id
属性の値で指定することが多い。
class
属性 class
属性には,要素をグループ分けする任意の名前を与えることができる。この属性は,空白で区切って複数の値を与えることができる。このグループ名は名前トークンというデータ形式で,一部の記号などを含まない文字列である。id
属性の場合と異なり,数字で始まってもよい。
<p class="note"> CMOS スイッチは,定常状態では理想的には電流は流れないが……</p>
上記の p
要素は,“note
”という名前のグループに属している。また,
<p class="check note"> PN 接合部では,電子の拡散によってポテンシャル壁ができており……</p>
では,“note
”という名前のグループと“check
”という名前のグループに同時に属していることを示す。
class
属性は,XHTML 文書の自動処理に使用できるが,現在のもっぱらの用途は CSS において,その属性値で適用するスタイルを絞り込む“クラスセレクタ”である。クラスセレクタは,class
属性に指定した値を含む要素に対して,スタイルを適用させる。
Internet Explorer では,class
属性に複数の値を指定された要素への,クラスセレクタでのスタイルの適用ができないという不具合がある。
title
属性 title
属性には,原則として,その要素に対する補足的な情報を任意の文字列で与えることができる(例外となる場合は,その時点で説明する)。head
要素の内容として書かれる title
要素とは別のものなので注意されたい。
使用例としては,たとえば,ハイパーリンク先についての補足情報を示しておく
<p> <a href="http://www.intel.co.jp/"</a>インテル</a>は,Prescott コアの新しい Pentium 4 プロセッサを,<a href="http://www.intel.com/jp/intel/pr/press2004/040203.htm" title="インテルのプレスリリースへ">90 ナノメートルプロセス</a>でリリースした。民生用半導体のプロセスルールが,ついに 0.1 マイクロメートルの壁を破った。</p>
などがある。
title
属性は,その要素にマウスポインタを合わせたとき,ツールチップ(バルーン)として表示されることがある。また,Netscape 6 以降では,図 4.1 のように,要素のプロパティとして確認することもできる。
当然ながら,この属性は文書のタイトルを表す title
要素とは別物である。
style
属性 style
属性は,“style
属性モジュール”によって導入される。特にその要素に対して,スタイルシート言語を使用してスタイルの指定を行うものである。style
要素とは別のものである。
属性名 | 属性値 | 備考 |
---|---|---|
style | 文字列 | その要素に適用させるスタイル |
CSS を使用する場合は,この style
属性の値は,(セミコロンで区切られた)宣言群となる。たとえば,
<p style="text-indent: 0;">ダイオードは,電圧をかける向きによって電流が流れたり(順方向),流れなかったり(逆方向)する。</p>
のように使用する。CSS においては,style
属性を通じての宣言は,ID セレクタで絞り込まれた程度のカスケーディング順位を持つ。
この属性は,ピンポイントでのスタイルの適用に便利であるが,使用は推奨されない(deprecated)。同様な効果は,対象となる要素に id
属性を指定して,この値をもって絞り込むことで実現できる。