* frame 要素型 (HTML, XHTML 1)
[9] [[HTML]] の [DFN[[CODE(HTMLe)[frame]] 要素]]は、
[RUBY[[[枠]]][フレーム][frame]]]の内容と見た目を定義します。
[10] 仕様書:
- [[HTML 4]]
-- 16.2.2 The [CODE(HTMLe)[FRAME]] element
[12]
:[[開始タグ]]:必須
:[[終了タグ]] (HTML 4): 禁止
:終了タグ (XHTML 1):必須
:出現できる文脈:[CODE(HTMLe)[[[frameset]]]] の子供として任意個
:[[内容模型]]:空 ([[強制空要素]])
:[[属性]]:
,属性名,属性値,既定値,説明,出典
,[CODE(HTMLa)[[[class]]]],,(なし),級,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[frameborder]]]],[CODE(SGML)[[CODE(HTML)[1]] | [CODE(HTML)[0]]]],[CODE(HTML)[1]],枠境界線,[HTML 4] 枠
,[CODE(HTMLa)[[[id]]]],[CODE(SGML)[[[ID]]]],(なし),固有識別子,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[longdesc]]]],[CODE(SGML)[%[[URI]]]],(なし),長い説明の参照,[HTML 4] 枠
,[CODE(HTMLa)[[[marginheight]]]],[CODE(SGML)[%[[Pixels]]]],,余白高さ,[HTML 4] 枠
,[CODE(HTMLa)[[[marginwidth]]]],[CODE(SGML)[%[[Pixels]]]],,余白幅,[HTML 4] 枠
,[CODE(HTMLa)[[[name]]]],,(なし),枠名,[HTML 4] 枠
,[CODE(HTMLa)[[[noresize]]]],([[真偽値属性]]),([[偽]]),寸法可変性,[HTML 4] 枠
,[CODE(HTMLa)[[[scrolling]]]],,[CODE(HTML)[[[auto]]]],,[HTML 4] 枠
,[CODE(HTMLa)[[[src]]]],[CODE(SGML)[%[[[URI]]]],(なし),枠内容,[HTML 4] 枠
,[CODE(HTMLa)[[[style]]]],,(なし),スタイル指定,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
,[CODE(HTMLa)[[[title]]]],[CODE(SGML)[%[[Text]]]],(なし),注釈的題,[HTML 4] [CODE(SGML)[%[[coreattrs]]]]
[[#comment]]
** 他との関係
[11] HTML には、特定実装の拡張で、同名別用法の
[CODE(HTMLe)[frame]] 要素型が存在します (>>8)。
[[#comment]]
** 例
[13] フレームの見た目を指定した例 [SRC[HTML 4 16.2.2.2]]
[PRE(HTML)[
A frameset document
]PRE]
この例では、フレーム1は scroll できなくなります。
フレーム2は画像の周りに余白が付きますし、
大きさを変えることができなくなります。
フレーム3とフレーム4の間には境界線をつけません。
フレーム1とフレーム2とフレーム3の間の境界線は付きます。
(フレーム2とフレーム3の間に境界線が引かれることに注意。)
[[#comment]]
** メモ
[[#comment]]
* animate 要素の子供の frame 要素 (HTML)
[8] [[HTML]] の [CODE(HTMLe)[[[animate]]]] 要素の子要素として使われる
[DFN[[CODE(HTMLe)[frame]] 要素]]は、アニメーションのこまを指定します。
[[#comment]]
* table 要素 frame 属性 (HTML, XHTML 1)
[1] [[HTML]] の [CODE(HTMLe)[[[table]]]] 要素の [DFN[[CODE(HTMLa)[frame]] 属性]]は、
表の枠のつけ方を指定します。
仕様書: [[HTML 4]]
[[#comment]]
** スタイル・シート代替
[5] この属性は、 HTML 4 では'''非推奨'''とはされていません。
[[表]]の特殊性によるものとも思えませんし、 [[HTML 4.0]]
の時点で表を扱えない [[CSS1]] だけで [[CSS2]]
がまだ勧告されていなかったのが原因かもしれません。
[6] [[CSS]] での代替方法は >>2 の表をご覧下さい。
[[XSL]] でも同じような指定ができます。
[[#comment]]
** 属性値
[2] この属性は[[列挙型]]属性です。
,属性値,説明,CSS 代替
,[CODE(HTML)[[[void]]]] (既定値),なし,[SAMP(CSS)[border-style: none]]
,[CODE(HTML)[[[above]]]],上,[SAMP(CSS)[border-style: [VAR[あり]] none none none]]
,[CODE(HTML)[[[below]]]],下,[SAMP(CSS)[border-style: none none [VAR[あり]] none]]
,[CODE(HTML)[[[above]]]],上,[SAMP(CSS)[border-style: [VAR[あり]] none none none]]
,[CODE(HTML)[[[hsides]]]],上下,[SAMP(CSS)[border-style: [VAR[あり]] none]]
,[CODE(HTML)[[[vsides]]]],左右,[SAMP(CSS)[border-style: none [VAR[あり]]]]
,[CODE(HTML)[[[lhs]]]],左,[SAMP(CSS)[border-style: none none none [VAR[あり]]]]
,[CODE(HTML)[[[rhs]]]],右,[SAMP(CSS)[border-style: none [VAR[あり]] none none]]
,[CODE(HTML)[[[box]]]],すべて,[SAMP(CSS)[border-style: [VAR[あり]]]]
,[CODE(HTML)[[[border]]]],すべて,[SAMP(CSS)[border-style: [VAR[あり]]]]
[3] [[DTD]] では特に既定値は指定されていませんが、
仕様書本文では [CODE(HTML)[void]] とされています。
[7] [CODE(HTMLa)[[[border]]]] 属性値の [CODE(HTML)[0]] は
[CODE(HTML)[frame=void]] を、それ以外は [CODE(HTML)[frame=border]]
をほのめかすと HTML 4 仕様書には書かれています。
これが >>3 の理由でしょう。
同時に [CODE(HTMLa)[[[rules]]]] 属性も補われますが、
こちらには仕様書に[Q[別途指定がなければ]]と注記があります。
ということは、 [CODE(HTMLa)[frame]] 属性は陽に指定してあっても
[CODE(HTMLa)[border]] 属性が優先するのかもしれません。
(なお、この規定は[Q[互換性のためにそうするべき (shoukd)]] というものです。)
[4] 列挙型ですから、 [[SGML宣言]]の指定によっては
[SAMP(HTML)[frame="above"]] を単に [SAMP(HTML)[above]]
とだけ書いたりもできるのですが、
[[WWWブラウザ]]のほとんどはそのような書き方には対応していないでしょう。
唯一の例外は [CODE(HTML)[border]] で、これは
[CODE(HTML)[border]] とだけ書く ([CODE(HTMLa)[[[border]]]]
属性の [CODE(SGML)[[[vi]]]] と[[属性値指定]]が省略できるという非 SGML 的な)
従来からの方法との互換のための trickey な方法としてわざわざ入れられています。
[Q[真偽値属性値]] [CODE(HTML)[border]] の歴史については
[CODE(HTMLa)[[[border]]]] 属性の説明をごらんください。
[[#comment]]
** メモ
[[#comment]]
* メモ