Netscape4対策(XHTML+CSS)【お役目終了】
Netscape4といえどもテキストとして読めないというのは困ります。CSSを中途半端にサポートしていますので、CSSを読み込んでしまうと、ときにレイアウトが崩れてしまいます。
Netscape4にCSSを読み込ませない
Netscape4にCSSを読み込ませないようにするためには、linkタグにmedia属性をつけて「all」または 「screen,print」などのように記述します。と、いうのもNetscape4はmedia属性が「screen」以外の時はCSSを読み込まな いからです。(たとえscreenでも『screen,print』のように複数記述すれば読み込まない)
<link href="net.css" rel="stylesheet" type="text/css" media="all" />
Netscape4は@importには対応していないので、読み込むときに、(linkタグではなく)@importを使い、読み込ませないようにすることもできます。
@import url(net.css);
ただし、@importの場合、Netscape4.xの一部のバージョンが、ブラウザがクラッシュするというバグを持っています。なので、やはりCSSの読み込みには、linkタグを使うほうが良いでしょう。
一部、読み込ませる場合
Netscape4でもサポートしているCSSはあります。それだけは適応させたいというのであれば、CSSを2つにわけることで可能になります。
たとえば、「net.css」にはモダンブラウザ(まめ知識参照)がサポートしているCSS、「net2.css」にはモダンブラウザだけでなくNetscape4もサポートしているCSSを記述しておきます。
<link href="net.css" rel="stylesheet" type="text/css" media="all" />
<link href="net2.css" rel="stylesheet" type="text/css" />
こうすれば、Netscape4は「net.css」は読み込まず「net2.css」のみを読み込みます。モダンブラウザの場合は、どちらのCSSも読み込むというわけです。なお、Netscape4がサポートしている主なCSSには以下のようなものがあります。
- 文字の色の指定(color)
- 文字を太字にする(font-weight)
- 段落先頭の字下げ(text-indent)
- 左揃え、中央揃え、右揃え(text-align)
- 左右上下の枠線の太さ(border-width)
【memo】
現在はNetscape4に配慮して作成する必要はないです。既に役目を終えていますが残してあります。