文書型 | 適用 | 子要素 | 開始タグ | 終了タグ | 分類 |
---|---|---|---|---|---|
Strict | × | 利用できません | |||
Transitional | ○ | インライン要素 | 必須 | 必須 | インライン要素 |
Frameset | ○ |
frameborder="1"
が指定されていると、そのフレームとの境界線が表示されます。HTML文書内にフレームを表示するための要素です。Transitional DTDとFrameset DTDで利用することができます。Strict DTDでは使えません。
src属性でインラインフレーム内に読み込むファイルのURIを指定します。name属性ではフレームに名前をつけることができ、a要素などでリンクするときにtarget属性でこのフレーム名を指定すると、リンク先の内容をフレーム内に表示することができます。また、title属性でフレームの説明をつけることができます。
フレームに対応していないブラウザは、iframe要素の中身を代わりに表示します。iframe要素の中身には代替文書などへのリンクを設けておきましょう。
<ul>
<li><a href="sakura.jpg" target="view">
<img src="sakura-s.jpg" alt="桜の写真"></a></li>
<li><a href="ume.jpg" target="view">
<img src="ume-s.jpg" alt="梅の写真"></a></li>
<li><a href="tsubaki.jpg" target="view">
<img src="tsubaki-s.jpg" alt="椿の写真"></a></li>
</ul>
<p>
<iframe
src="iframesamp.html" name="view"
width="400" height="400"
title="画像をクリックすると、このウィンドウに大きな写真を表示します">
このページではインラインフレームを利用しています。
フレームに対応したブラウザであれば、フレーム内に
大きな写真が表示されます。
</iframe>
</p>
object要素を使ってもHTML文書中に別のファイルを埋め込むことができます。ただし、object要素の場合はリンク先の内容をobject要素内に表示することはできません。
ただフレーム風のデザインにするだけなら、別ファイルを用意してそれをiframe要素で読み込むといった面倒な作業をしなくても、CSSを書くだけで済みます。
.frame {
border: 1px gray inset;
overflow: auto;
width: 200px;
height: 100px;
}
<dl class="frame">
<dt>2006年1月1日</dt>
<dd>開設</dd>
<dt>2006年2月1日</dt>
<dd>何かを更新</dd>
<dt>2006年3月1日</dt>
<dd>何かを更新</dd>
<dt>2006年4月1日</dt>
<dd>何かを更新</dd>
<dt>2006年5月1日</dt>
<dd>何かを更新</dd>
</dl>
日本の個人のサイトには更新履歴をインラインフレームで表示する習慣(?)がありますが、わざわざ別ファイルに分ける必要はないでしょう。この方法のほうがフレーム未対応のブラウザに優しく、望ましいでしょう。
<!ELEMENT IFRAME - - (%flow;)* -- inline subwindow -->
<!ATTLIST IFRAME
%coreattrs; -- id, class, style, title --
longdesc %URI; #IMPLIED -- link to long description
(complements title) --
name CDATA #IMPLIED -- name of frame for targetting --
src %URI; #IMPLIED -- source of frame content --
frameborder (1|0) 1 -- request frame borders? --
marginwidth %Pixels; #IMPLIED -- margin widths in pixels --
marginheight %Pixels; #IMPLIED -- margin height in pixels --
scrolling (yes|no|auto) auto -- scrollbar or none --
align %IAlign; #IMPLIED -- vertical or horizontal alignment --
height %Length; #IMPLIED -- frame height --
width %Length; #IMPLIED -- frame width --
>