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