UA 毎に CSS を振り分ける
とりあえず対象は、MacIE5.x、Mozilla、Opera6.x、Win IE5、Win IE5.5、Win IE6 です。
基本用スタイルが適用されています。Mac IE5.x か Mozilla をご使用ですね。
Opera スタイルが適用されています。Opera をご使用ですね。
win_ie5 スタイルが適用されています。Windows IE5.x をご使用ですね。
win_ie55 スタイルが適用されています。Windows IE5.5x をご使用ですね。
win_ie6 スタイルが適用されています。Windows IE6 をご使用ですね。
ご使用の UA 名と違うものが表示されることはないはず。
<link rel="stylesheet" media="screen,tv" href="common.css" type="text/css" title="基本用"> <link rel="stylesheet" media="screen,tv" href="opera.css" type="text/css" title="Opera用"> <!--[if IE 5 ]><link rel="stylesheet" type="text/css" href="win_ie5.css"><![endif]--> <!--[if IE 5.5000 ]><link rel="stylesheet" type="text/css" href="win_ie55.css"><![endif]--> <!--[if IE 6 ]><link rel="stylesheet" type="text/css" href="win_ie6.css"><![endif]-->
<div class="common"> <p>基本用スタイルが適用されています。Mac IE5.x か Mozilla をご使用ですね。</p> </div> <div class="opera"> <p>Opera スタイルが適用されています。Opera をご使用ですね。</p> </div> <div class="win_ie5"> <p>win_ie5 スタイルが適用されています。Windows IE5.x をご使用ですね。</p> </div> <div class="win_ie55"> <p>win_ie55 スタイルが適用されています。Windows IE5.5x をご使用ですね。</p> </div> <div class="win_ie6"> <p>win_ie6 スタイルが適用されています。Windows IE6 をご使用ですね。</p> </div> <p>ご使用の UA 名と違うものが表示されることはないはず。</p>
div{ font-size : 200% ; font-weight : normal ; padding : 1em ; border : 1px solid gray ; color : #333333 ; background-color : #FFFFE7 ; } div.common{ display : block ; } div.opera{ display : none ; } div.win_ie5{ display : none ; } div.win_ie55{ display : none ; } div.win_ie6{ display : none ; }
@import url('_opera.css') screen;
div.common{ display : none !important; } div.opera{ display : block !important; } div.win_ie5{ display : none ; } div.win_ie55{ display : none ; } div.win_ie6{ display : none ; }
div.common{ display : none !important; } div.opera{ display : none ; } div.win_ie5{ display : block !important; } div.win_ie55{ display : none ; } div.win_ie6{ display : none ; }
div.common{ display : none !important; } div.opera{ display : none ; } div.win_ie5{ display : none ; } div.win_ie55{ display : block !important; } div.win_ie6{ display : none ; }
div.common{ display : none !important; } div.opera{ display : none ; } div.win_ie5{ display : none ; } div.win_ie55{ display : none ; } div.win_ie6{ display : block !important; }
ほぼ予想通りでしたが、<!--[if IE 5 ]> で指定した CSS 書類は Win IE5.5 にも読まれてしまうのが判明。というか、Win IE5.x というのには、Win IE5.5 も含まれるので、当たり前なのではなかろーか、とか思ったり。
<!--[if gte IE 5.5000 ]><link rel="stylesheet" type="text/css" href="win_ie55to6.css"><![endif]-->
上記を head に追加し、win_ie55to6 スタイルで win_ie5 スタイルの打ち消しをしておくか、win_ie55 スタイルの中で打ち消しておく必要があるのかも。あ、ひょっとして、<!--[if IE 5.0000 ]> とか書くと、IE5 だけ対象になるのかもとか都合の好いことを勝手に思ったが、面倒なので後日。