[1] HTML の frame
要素、iframe
要素、
frameset
要素の frameborder
属性は、
フレーム境界線のレンダリングについての情報を提供します >>2。
[33] HTMLFrameElement
と HTMLIFrameElement
の frameBorder
IDL属性は、
frameborder
内容属性を反映します >>31, >>32。
属性値 | 説明 |
1 | 隣接するフレームとの間に線を引きます >>2。 |
0 | 隣接するフレームとの間に線を引きません >>2。 |
[30] 元々 Netscape の実装は
yes
と no
だったようですが、
なぜか HTML4 では数字になっています。
iframe
要素の既定レンダリング[18] 視覚的利用者エージェントについては、次の CSS を表現的ヒントとして適用することが期待されています >>19。
@namespace url(http://www.w3.org/1999/xhtml); iframe[frameborder=0], iframe[frameborder=no] { border: none; } /* case-insensitive */
[20] つまり、 frameborder
属性の値が 0
か no
(ASCII大文字・小文字不区別) であれば、枠線は無しとなります。
iframe:not([seamless]) { border: 2px inset; }
frameset
要素と frame
要素が枠線を持つときのレンダリング[22] frame
要素や frameset
要素が枠線を持つかどうかは、次のようにして定まります >>21。
frameborder
属性があって空文字列でなく、最初の文字が
1
, y
, Y
のいずれかであれば、真frameborder
属性がなければ、偽frameset
要素であるなら、
その要素が枠線を持つかどうかに依る[28] framset
要素が枠線を持つなら、外側の枠線をレンダリングします。
frame
要素が枠線を持つなら、内側の枠線をレンダリングします。
>>21
[13] 0
と指定していても、隣のフレームが 1
だと線は引かれてしまいます >>2 16.2.2, 16.2.2.2。
[7]
Netscape Navigator は 3.0 以来 frameset
と frame
で frameborder
属性を実装してきましたが、その値は yes
または
no
だったようです。
[11] フレームをはじめて公式に定義した仕様である HTML4 には、
frame
要素と iframe
要素の
frameborder
属性が定義されていました。
[12] HTML4 では表現に関する多くの属性が非推奨とされていましたが、
frameborder
を含むフレーム関係の機能は非推奨ではありませんでした。
frame
要素はフレーム集合DTDに、
iframe
要素は厳密DTDと移行用DTDに含まれていました。
[17] Web Applications 1.0 ではこの属性は廃止されています。
(厳密には iframe
要素の frameborder
属性と
frame
要素、 frameset
要素が廃止となっています。) >>16
frameset
要素に frameborder
属性は存在しませんでしたが、現実には存在したようで、 Web Applications 1.0
では処理モデルが定められています。[41] frameBorder
IDL属性は廃止された機能として規定されていますが、
HTMLFrameSetElement
にはありません。
[8] IE7 では frameborder
属性によってレンダリングされる枠線を
'border'
で消すことはできません。 frameborder
を 0
にすると細くはなりますが、残ってしまいます。
[5] border
属性とは異なり、
数を 2
以上にして枠線を太くしていくことはできないようです。
[6]
MSN相談箱 <FRAMESET border='0'>と<FRAME frameborder='0'> (2008-10-02 09:35:16 +09:00
版) <http://questionbox.jp.msn.com/qa486678.html?StatusCheck=ON>