Appendix B : NN,IE 独自の記述

 本稿では HTML 4 を中心に話を進めてきたが,WYSIWYG な HTML エディタを用いた場合などに,その吐き出す HTML がブラウザ独自の記述を含むことがある。これらの多用はユニバーサルな HTML を書くという点からすると必ずしも好ましくないが,参考までに簡単に触れておくことにする。

Netscape Navigator,Internet Explorer 独自の記述

■ プラグインの貼り込み

 プラグインを用いたオブジェクトの貼り込みに

<EMBED>...</EMBED>

が用いられることがある。終了タグ </EMBED> は省略可である。これには,SRC 属性にプラグインを通して処理したいファイルの URI を指定する。一般に,SRC 属性のファイルの拡張子を参考に呼び出すプラグインが決定される。WIDTH,HEIGHT 属性でオブジェクトの入る領域の大きさを決定する。

 Internet Explorer では 3.0 以降で有効である。

 HTML 4 では,<OBJECT> を用いる。

■ 折り返し抑制

 ブラウザの端での折り返しを抑制するのが

<NOBR>...</NOBR>

である。この範囲においては途中で折り返しが起こることはなく,横方向にテキストがずるずるとつながっていく。

 とくに,この中で“折り返し許可点”は

<WBR>

で記述され,<NOBR>...</NOBR> の範囲において折り返しが起こるとするならば,その位置ということになる。

 HTML 4 において折り返しを抑制(語の分割を抑制)したい場合,欧文ならば語間を半角空白でなく &nbsp; にすればよい。また,CSS1 を用いた記述では,white-space 属性に nowrap を与えるという方法もある。

■ 軽量イメージの指定

 <IMG> は LOWSRC 属性を持ち,SRC 属性で示された画像が読み終わるまでこの属性で指定した画像を表示させる。一般に,LOWSRC 属性に指定する画像は,SRC 属性の画像より解像度が低く色数が少ない,速く読めるものにする。

 たとえば,SRC 属性の画像をモノクロにしたファイルサイズの小さい画像を LOWSRC 属性に指定しておけば,待っている間それが表示されるので,画像の概略はつかむことができる。

Netscape Navigator 独自の記述

■ テキストの点滅

 テキストの点滅という電子ドキュメントならではの効果は,

<BLINK>...</BLINK>

で実現される。

完全に見た目のための記述であるので,CSS1 の text-decoration 属性によって同様の効果が得られる。

■ 多段組み

 Netscape Navigator 3.0 以降でのみ通用する多段組みを実現するのが

<MULTICOL>...</MULTICOL>

で,必須の COLS 属性に段数を指定する。GUTTER 属性に段間の余白,WIDTH 属性には各段の幅をピクセル指定で与える。とうぜん,それぞれの段は同じ幅になる。

■ レイヤ

 レイヤは,要素の位置決めに用いる表現のための要素である。Netscape Navigator 4.0 以降で用いることができる。

 レイヤには 2 種類あり,絶対位置を決める

<LAYER>...</LAYER>

と,相対位置を決める

<ILAYER>...</ILAYER>

がある。

 位置決めは,TOP,LEFT 属性によって行う(ピクセル指定)。<LAYER> では絶対位置,<ILAYER> では相対位置として解釈される。PAGEX,PAGEY 属性では,ウィンドウに対しての位置決めになる。レイヤの大きさは,WIDTH および HEIGHT 属性で指定される。

 複数のレイヤが重なる場合は,その上下関係を Z-INDEX 属性に整数で指定する。大きい方が上になる。ID 属性でレイヤが識別されている場合には,すぐ上にくるレイヤの ID を ABOVE 属性,すぐ下にくるレイヤの ID を BELOW 属性に与えるという方法もとることができる。両者の方法を同時に行うことはできない。

 レイヤの内容が別のファイルである場合には,SRC 属性にその URI を与える。

 CLIP 属性にはカンマで区切られた 4 値を与え,クリッピングを行うことができる。BGCOLOR,BACKGROUND 属性は背景に関しての指定を行う。

 レイヤがサポートされていないブラウザのための記述として

<NOLAYER>...</NOLAYER>

を用いることができる。これは,レイヤをサポートした Netscape Navigator 4.0 以降で無視される。

 ここで注意するべきなのは,レイヤをサポートしていないブラウザは,<NOLAYER>...</NOLAYER> は表示されるが,それに加えて,一般に,レイヤを宣言する <LAYER> などのタグの存在を無視するので,<LAYER>...</LAYER> に書かれる内容がそのまま出力されるということである。そうすると,レイヤが使えないことによって満足な出力が得られなくなることがあり,好ましくない。どうしてもレイヤを用いたい場合は,その内容を外部のファイルに用意しておき,排他的な出力がはかられるように配慮すべきである。このときも,<NOLAYER> に“Netscape Navigator 4.0 以降でご覧ください”と書くのではなく,レイヤを用いなくても同じ内容が表現されるように措置を講じるべきである。

 そもそも,このような表示だけを制御する記述というのは非 HTML 的であり,SGML の観点からすると好ましいこととは言えない。要素の 2 次元的な位置決めに関しては,HTML でサポートはされず,本稿では触れなかったが,CSS2 でサポートされる。

■ スペーサ

 指定した大きさの空白をとる記述が Netscape Navigator 3.0 以降で導入されている。

<SPACER>

この TYPE 属性に与えるキーワードでどのように空白がとられるかが異なる。

 これによって,レイアウトは圧倒的にやりやすくなるだろうが,逆に,これを用いてレイアウトを行うとどういう結果がもたられるかをよく考えられたい。

■ プラグインがない場合の記述

 前述の <EMBED> が有効でない環境に対しては,

<NOEMBED>...</NOEMBED>

を記述する。これも,<NOEMBED> を知っていれば“表示しない”,知らなければ“そのまま表示”という仕掛けのものである。

Internet Explorer 独自の記述

■ BGM

 “BGM をならす”記述は Internet Explorer 3.0 以降で,

<BGSOUND>

によって行う。これはヘッダ部分に記述される。

 SRC 属性には,再生するファイルの URI を指定する。LOOP 属性には,再生回数を指定する。

 これが認識されない環境では,何も起こらないだけである。だが,この<BGSOUND> の濫用は,有無を言わさず音を再生してしまうこともあって,読者を不快にさせることがあるので注意を要する。

■ マーキー

 Internet Explorer 3.0 以降で導入された,“文字を流す”というきわめて視覚的な効果を実現する要素として

<MARQUEE>...</MARQUEE>

がある。

 文字の流れ方については,BEHAVIOR 属性に,alternate(反復),scroll(スクロール),slide(スライド)のキーワードを与えて指定する。その方向は,DIRECTION 属性に downupleftright を与えて指定する。文字を流す回数は,LOOP 属性に指定する。

 スクロールの速さは,SCROLLDELAY 属性にミリ秒単位でスクロールが起こるインターバルを設定し,SCROLLMOUNT 属性では,1 回のスクロールごとに何ピクセル移動させるかを設定する。SCROLLDELAY 属性は,60 未満の値を与えないが,TRUESPEED 属性にキーワード true を与えると 60 未満の値でも正確に動作するようになる。

 マーキーの領域は WIDTH,HEIGHT 属性によって大きさを指定され,HSPACE,VSPACE 属性で周囲の余白をとる。ALIGN 属性で位置関係,BGCOLOR 属性ではマーキー領域の背景色を指定する。

 <MARQUEE> が無視された場合には,その中身がそのまま表示されるだけである。

■ ビデオクリップの再生

 ビデオクリップを <IMG> の DYNSRC 属性を用いて再生させることができる。とうぜん,認識されなければ再生されないので,アンカを用いてムービーファイルへのリンクを張っておくとよい。

 このほかにも,細かい点において,ブラウザ独自の記述があるが,ここでは代表的なものにとどめておく。

 ご覧になってわかるように,これらの記述は視覚表現に関するものが圧倒的に多い。これらを多用して,環境に依存した文書を作ってしまうのは,いかがなものだろうか。