frame要素
※この要素は HTML4 や XHTML1.0 では非推奨とされています。
要素名 | バージョン | 開始タグ | 終了タグ | 分類/親 | 中身 |
---|---|---|---|---|---|
frame | (4.0), (X1.0) | 必須 | 禁止 | frameset | EMPTY |
属性名 | バージョン | 属性値 | 既定値 | 備考 |
---|---|---|---|---|
name | 4.0, X1.0, X1.1 | CDATA | #IMPLIED | name of frame for targetting |
longdesc | (4.0), (X1.0) | %URI; | #IMPLIED | link to long description (complements title) |
src | (4.0), (X1.0) | %URI; | #IMPLIED | source of frame content |
noresize | (4.0), (X1.0) | (noresize) | #IMPLIED | allow users to resize frames? |
scrolling | (4.0), (X1.0) | (yes|no|auto) | #IMPLIED | scrollbar or none |
frameborder | (4.0), (X1.0) | (1|0) | 1 | request frame borders? |
marginwidth | (4.0), (X1.0) | %Pixels; | #IMPLIED | margin widths in pixels |
marginheight | (4.0), (X1.0) | %Pixels; | #IMPLIED | margin height in pixels |
共通属性 …… %coreattrs;
frameの解説
あるフレーム枠とその表示方法を規定します。src属性でフレーム内に表示する文書を指定しますが、img要素 の src属性 と異なり、この属性は必須ではありません。
FRAME にはその内容が分かるように title属性をつけてることが強く推奨されています。また、name属性には意味の分かる名前を付けることが推奨されます。というのも、これらの属性を読み上げることでフレームをリンクとして扱うブラウザが存在するからです。この二つは必須とはされていませんが、必ず指定するようにしましょう。
※なお、name属性の値は CDATA とされていますが、その名前はアルファベットで始まらなければならないとされています。NAME でなく CDATA になっているのは、target属性の側とのバランスを取るためでしょうか? (target属性には _ ではじまる予約名を指定することもあるので、NAME ではまずいのです。)
noresize属性は、フレームの枠を固定してサイズ変更が利かないようにします……が、画面サイズの関係で文書が読みにくい時、ちょっと枠を移動させられると便利です。逆に移動できないと読めない場合があります。固定するのは避けるべきでしょう。
scrolling属性 はスクロールバーの描画有無を指定しますが、これも同様の理由で、消してしまうと読めなくなることがあります。
frameborder属性は、枠線描画の有無を示します。これは frameset ではなく frame の属性で、個々のフレームごとに指定します (frameset要素 にこれを指定することはできませんが、ブラウザは独自に対応しているようです)。
marginwidth と marginheight にはフレーム枠と文書との間隔を指定します。単位はピクセルで、1 より大きい値を指定せよ……となっていましたが、正誤表 (www.w3.org)で 0 以上で良いと訂正されています。
- 「frame要素」にコメントを書く