文書型 | 適用 | 子要素 | 開始タグ | 終了タグ | 分類 |
---|---|---|---|---|---|
Strict | ○ | インライン要素(a要素を除く) | 必須 | 必須 | インライン要素 |
Transitional | ○ | ||||
Frameset | ○ |
shape="rect"
(長方形)のときshape="circle"
(円)のときshape="poly"
(N角形)のときtabindex="0"
を指定した要素やtabindex属性を持たない要素は、tabindex属性の値が最も大きい要素にフォーカスが移動した後、順番に選択されます。リンクの出発点や到達点を表す要素です。この要素はインライン要素です。中身にはa要素以外のインライン要素を含むことができます。
出発点や到達点のことをアンカーと言います。リンクを作るには、リンクの出発点(始点アンカー)を<a …>
〜</a>
で囲み、リンクの到達点(終点アンカー)をhref属性に記述します。
<p>HTMLに関する詳しい情報は
<a href="http://www.w3.org">W3Cのサイト</a>で得られます。</p>
HTMLに関する詳しい情報はW3Cのサイトで得られます。
href属性には「http://
」で始まる絶対URIのほか、相対URIを指定することもできます。
<p><a href="index.html">HTML 4.01リファレンス 目次</a></p>
URIのスキームを「mailto
」にすれば、メールアドレスにリンクすることができます。
<p>問合せ先:<a href="mailto:elastic965@gmail.com">elastic965@gmail.com</a></p>
問合せ先:elastic965@gmail.com
アンカーにする文字列は、リンク先と関係のあるものにしましょう。次のようなリンクはよくありません。
<p>最新情報を追加しました。<a href="news.html">ここ</a>を
クリックしてご覧ください。</p>
リンク先の「news.html」は「ここ」という文字列とは関係ありません。「news.html」と関係のある「最新情報」にアンカーを設置しましょう。
<p><a href="news.html">最新情報</a>を追加しました。</p>
ページ内の特定箇所へリンクすることもできます。まず、リンクの到達点となる箇所に名前をつけます。名前をつけるにはa要素のname属性を使う方法と、id属性を使う方法があります。id属性はほとんどどの要素にも記述することができます。
a要素のname属性を使う:<h2><a name="TOC">目次</a></h2>
id属性を使う:<h2 id="TOC">目次</h2>
名前をつけた箇所にリンクするには、URIの後に「#名前
」と続けます。URIは絶対URI、相対URI、どちらでも可能です。また、同一文書内からリンクするなら、「#名前
」のみでも可能です。
絶対URI:<p><a href="http://www.example.com/index.html#TOC">目次</a></p>
相対URI:<p><a href="index.html#TOC">目次</a></p>
同一文書内:<p><a href="#TOC">目次</a></p>
自分でリンクするつもりがなくても、見出し(h1?h6要素)などに名前をつけておけば、他の人があなたのページ内の特定箇所にリンクすることができます。
name属性の値は大文字小文字が区別されます。そのため次のようにリンクすることはできません。
<h2><a name="TOC">目次</a></h2>
<p><a href="#toc">目次</a></p>
同じ名前を2箇所以上につけることもできません。
<h2><a name="TOC">目次</a></h2>
…
<h2><a name="TOC">目次</a></h2>
<h2><a name="TOC">目次</a></h2>
…
<h2 id="TOC">目次</h2>
また、同じ場所にname属性とid属性で異なる値を指定することはできません。
<h2><a name="TOC" id="Mokuji">目次</a></h2>
SGML的にはid属性の値は大文字に変換されて解釈されることになっています。そのため、文法上はid属性の値が小文字でも、href属性は大文字で書かないといけません。
<h2 id="toc">目次</h2>
<p><a href="#TOC">目次</a></p>
しかし、これを正しく解釈できるユーザーエージェントはあまりありません。ですから、id属性の値を最初から大文字にしておくのが無難です。
<h2 id="TOC">目次</h2>
<p><a href="#TOC">目次</a></p>
古いブラウザ(Internet Explorer 3やNetscape 4.x)はid属性で名前をつける方法に対応していません。
XHTML 1.1ではname属性が廃止され、名前をつけるにはid属性を使うことになっています。
<!ELEMENT A - - (%inline;)* -(A) -- anchor -->
<!ATTLIST A
%attrs; -- %coreattrs, %i18n, %events --
charset %Charset; #IMPLIED -- char encoding of linked resource --
type %ContentType; #IMPLIED -- advisory content type --
name CDATA #IMPLIED -- named link end --
href %URI; #IMPLIED -- URI for linked resource --
hreflang %LanguageCode; #IMPLIED -- language code --
rel %LinkTypes; #IMPLIED -- forward link types --
rev %LinkTypes; #IMPLIED -- reverse link types --
accesskey %Character; #IMPLIED -- accessibility key character --
shape %Shape; rect -- for use with client-side image maps --
coords %Coords; #IMPLIED -- for use with client-side image maps --
tabindex NUMBER #IMPLIED -- position in tabbing order --
onfocus %Script; #IMPLIED -- the element got the focus --
onblur %Script; #IMPLIED -- the element lost the focus --
>