さて、ここしばらく、このサイトの HTML と CSS を大規模に変更しました。 大きな変更は、曜日ごとのリンクの色等のスタイルの変化をする方法です。 っていうか、今までのやり方はアホだったんだけど…。
今までは、各曜日のスタイルを用意して、 HTML レベルで <a href="..." class="mon"> みたいにしていたのですが (ここで mon はクラス名)、 どうせなら各ページで一回だけ曜日の設定をすれば、 各リンクで設定せずに済む方が言いに決まっています。 しかし、リンクの色は :link, :visited, :active 等の疑似クラスで設定するため、 外側のエレメントでの設定が反映されないので、 仕方がないのこういうことをやっていました。
でもよく考えると、CSS の設定で、 .mon a:link {color: ...} のように設定すれば、 <body class="mon"> が記述されていれば、その内側でのリンクは、 単に <a href="..."> と書くだけで、 自動的に色が変わるのです。
ということで、現在の CSS は以下の通り。 うーむ、なぜこういう風にしなかったのだろう (文字コードを shift_jis-dos に変換してあります)。 一つのサイトで複数のスタイルを使い分けるには、 こういう方法が楽ですね〜。
しかし、やられたのは、 主要ブラウザで MacOS 用 IE だけが、 クラス名の大文字、小文字を見るという事実。 仕方がないので、大文字、小文字の双方を、 .mon a:link, .MON a:link {color: ...} のように、 CSS に入れる必要がありました。 果たしてクラス名は case sensitive なのが正しいのか、 case insensitive が正しいのか、 CSS2 の規格書を斜め読みした限りでは、 「疑似クラス名は case-insensitive である」 「エレメント名はベースとなる言語に依存、 つまり HTML なら case insensitive、 XML ならば case sensitive」ということは分かったのですが…。 達人の方、教えてください。