ばけらの HTML リファレンス(未完成)

bakera.jp > 鳩丸リファレンス > ばけらの HTML リファレンス(未完成) > 要素一覧 > base要素

base要素

要素名バージョン開始タグ終了タグ分類/親中身
base2.0, 2.x, 3.2, 4.0, X1.0, X1.1必須禁止%head.content;EMPTY
属性名バージョン属性値既定値備考
href3.2, 4.0, X1.0, X1.1%URI;#IMPLIEDURI that acts as base URI
target(4.0), (X1.0)%FrameTarget;#IMPLIEDrender in this frame

baseの解説

HTML 文書の基準 URI を指定します。href属性に書かれた URL が、この文書の基準 URL とされ、相対参照を解釈する際に利用されます。たとえば、

<base href="http://www.ne.jp/asahi/minazuki/bakera/html/hatomaru.html" />
……
<a href="#top">先頭へ</a>
<a href="./">インデックスページへ</a>

となっているとき、最初の "#top" は "http://www.ne.jp/asahi/minazuki/bakera/html/hatomaru.html#top" に、"./" は "http://www.ne.jp/asahi/minazuki/bakera/html/" に、それぞれ解釈されます。

base の指定は、他のあらゆる URI の指定よりも前になければなりません。base が出てくる前に link などが出現すると、相対参照をうまく解釈できなくなってしまいます。また、当然ながら、base の指定自体を相対参照で記述することはできません。base の href属性の値は絶対 URL である必要があります。

なお、base要素がない場合は、その文書の実際の URI が基準 URI とされます。普通はそれで問題ありませんので、無理に base要素を使う必要はありません。base要素を使うと便利なのは、たとえば以下のような場合です。

また、HTML4.0 Transitional では、target属性で基準となるターゲットフレームを指定するのにも使えます。Strict には target属性がなく、href属性が必須となっています。

余談ですが、HTML4.0 の仕様書では、HTTP応答ヘッダで Content-Base フィールドを指定して基準 URL を指定する方法についても触れられていました。しかし Content-Base は RFC2616 であっさりと消滅し、無かったことになっています。

Content-Base was deleted from the specification: it was not

implemented widely, and there is no simple, safe way to introduce it

without a robust extension mechanism. In addition, it is used in a

similar, but not identical fashion in MHTML [45].

以上、RFC2616 より

最近の日記

関わった本など