「CSSで1つの要素に複数のクラスを指定する」に対応したブラウザは?
恥ずかしながら、最近ようやく『同一idは一つのページ内で複数用いるべきではない』の意図するところが分かってきました。これまで、この事を理解していなかったがために、
aaa ←文字色:青、背景色:黄
bbb ←文字色:緑、背景色:黄
ccc ←文字色:青、背景色:赤
ddd ←文字色:緑、背景色:赤
といった表現を実現するために、
---CSSファイル内の記述---
.blue{color:blue;}
.green{color:green;}
#bg_yellow{background-color:yellow;}
#bg_red{background-color:red;}
---HTMLファイル内の記述----
<div class="blue" id="bg_yellow">aaa</div>
<div class="green" id="bg_yellow">bbb</div>
<div class="blue" id="bg_red">ccc</div>
<div class="green" id="bg_red">ddd</div>
というようなソースをよく書いておりました。この場合、idの意味を理解して、解決するには、例えば下の3通りの方法があるように思います。
(1)IDを4つ作成し、1つずつ適用する
---CSSファイル内の記述---
#blue_bg_yellow{color:blue;background-color:yellow;}
#green_bg_yellow{color:green;background-color:yellow;}
#blue_bg_red{color:blue;background-color:red;}
#green_bg_red{color:green;background-color:red;}
---HTMLファイル内の記述----
<div id="blue_bg_yellow">aaa</div>
<div id="green_bg_yellow">bbb</div>
<div id="blue_bg_red">ccc</div>
<div id="green_bg_red">ddd</div>
(2)クラスを4つ作成し、1つずつ適用する
---CSSファイル内の記述---
(1)の『#』を『.』にする
---HTMLファイル内の記述----
(1)の『id』を『class』にする
(3)クラスを4つ作成し、2つずつ適用する
---CSSファイル内の記述---
.blue{color:blue;}
.green{color:green;}
.bg_yellow{background-color:yellow;}
.bg_red{background-color:red;}
---HTMLファイル内の記述----
<div class="blue bg_yellow">aaa</div>
<div class="green bg_yellow">bbb</div>
<div class="blue bg_red">ccc</div>
<div class="green bg_red">ddd</div>
今回の例では、数も少なく、どれでもそれほど変わらない感じですが、この(3)の書き方には、どれほどのブラウザが対応しているのでしょうか?
個人的に使用しております
・Firefox 2.0
・Internet Explorer 6.0
では動作するのですが、それ以外のブラウザでの動作に関してご存知の方は、ぜひ教えて下さい。(特にMacは持っていませんので、Macのブラウザの情報は非常にありがたいです)
ある程度のブラウザで動作するようなら、
.b,strong{font-weight:bold;}
.i,em{font-style:italic;}
.u,ins{text-decoration:underline;}
.s,del{text-decoration:line-through;}
.u_s{text-decoration:underline line-through;}
のように、よく使いそうな表現をまとめたスタイルシートを作ろうかな、などと考えております。打ち消しながら下線引く事なんかはまずないとは思いますが、これは例えばの話です。
長文を最後までお読みいただきありがとうございました。