実験くん & CSS 振り分け その6-3


CSS に SSI を使う・その 2

CSS 振り分け その6-2【SSI による振り分け】では、CSS 側で SSI を用い、補正 CSS を UA 毎に振り分けてみました。

さて、各 UA 共通の CSS を適用し、更に 各 UA 毎の補正 CSS を適用するという、二段構えの作戦も悪くありませんが、実際のところ、全ての UA での検証が誰にでも出来るわけではありません。

制作者が検証出来ない環境の UA に対しては、CSS を適用しないという安全策を取りたい場合もあるでしょう。というか、制作者 CSS を適用させたいがために、UA を乗り換えろ的なことを言い出すくらいなら、いっそ、ターゲットを絞って、検証出来る UA 以外のものには CSS を適用させない方が無難かもしれません。

というか、この手法を使う際の自分用のテンプレートのためのメモだったり。


ソース

select.css


@charset "Shift_JIS" ;

<!--#if expr="($HTTP_USER_AGENT = /compatible; MSIE 5/) && ($HTTP_USER_AGENT = /Mac/)" -->
/* MacIE5 には適用する */
@import url("new/default.css");

/* 補正 CSS */
@import url("new/MacIE5.css");

<!--#elif expr="($HTTP_USER_AGENT = /Gecko/)" -->
/* Gecko には適用する */
@import url("new/default.css");

/* 補正 CSS */
@import url("new/Gecko.css");

<!--#elif expr="($HTTP_USER_AGENT = /Mozilla\/4/) &&! ($HTTP_USER_AGENT = /compatible/)" -->
/* Netscape Navigator 4 には適用しない */

<!--#elif expr="($HTTP_USER_AGENT = /Opera/)" -->
/* Opera には適用する */
@import url("new/default.css");

/* 補正 CSS */
@import url("new/Opera.css");

<!--#elif expr="($HTTP_USER_AGENT = /compatible; MSIE 5.0/) && ($HTTP_USER_AGENT = /Windows/)" -->
/* Windows IE5 には適用しない */

<!--#elif expr="($HTTP_USER_AGENT = /compatible; MSIE 5.5/) && ($HTTP_USER_AGENT = /Windows/)" -->
/* Windows IE5.5 には適用しない */

<!--#elif expr="($HTTP_USER_AGENT = /compatible; MSIE 6/) && ($HTTP_USER_AGENT = /Windows/)" -->
/* Windows IE6 には適用する */
@import url("new/default.css");

/* 補正 CSS */
@import url("new/WinIE6.css");

<!--#else -->
/* その他の UA には適用しない */
<!--#endif -->

まー、ようするに、UA 毎に適用するスタイルをインポートさせようという作戦。

上記の SSI は、少し諄いか。適用したい UA だけピックアップして、適用しない UA(WinIE5 とか WinIE5.5 とか)は書かなくてもいいような。適用しない UA は <!--#else --> に含まれるもんなー。


【 .htaccess 】

Xbithack full になってるから、パーミッションを 754 とかにすりゃ、CSS でも SSI が効くかと思ったら、駄目だったので、.htaccess に下記を追加。


AddType text/css  .css
AddHandler server-parsed .css


でっちあげた人

2004-12-07T18:43:26+09:00 カナかな団首領 last modified 2004-12-15T18:33:15+09:00

ご案内

参考リソース