掲示板 にて Web cafe’ “Prelude” のジュンさんにいろいろご教示をいただきました。というのは、昨日まで、a:hover がぴょこぴょこしていたのですが、hover にボーダーをとるなら a 全部にとらないとぴょこるよ、とのご指摘に従い、a:link と a:visited の時はボーダーを非表示にしたいので border-color を transparent にして、width を a 全て 2px とることによってぴょこらなくなりました。
と思ってたら、今朝、職場の WinIE 6 で見たら、ボーダーの色が a:link ( visited ) の color と一緒になってて、a に全てボーダーが表示されているじゃないですか!ウザい…。なぜだ??と騒いでいたら、border を背景色と同色にするがよい、との天の声。とりあえず、border と background とを同じ色(#ffffff)にしました。それでようやく意図した感じにはなったのですが、なんか納得いきません。だって、『詳解 HTML & XHTML & CSS 辞典』には、
transparent
ボーダーを透明の状態にします。ただし、ボーダーの幅は確保されます。
って書いてあるんだもん。なんで Mozilla や Opera ではちゃんと透明になるのに、WinIE 6 ではテキストと同じ色になっちゃうの?
というわけで、CSS Laboratory にいったら「なぜか」という理由は見つけられなかったけれど、それっぽい感じの「border-color プロパティ・対応テスト」というページがありました。ここの「
一括指定 (4値)(2)」をいうところを Mozilla 1.0 と WinIE 6 とで見比べてみると、border-color : transparent ってところの表示が異なっています。WinIE 6 は border-color の transparent に対応してないのでしょうか?うむぅ。
ていうか、激しく既出か、あるいは僕が間違ってるのだろう…。謎。調べよう。