* 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]] * メモ