- ベストアンサー
インターネットエクスプローラーでの疑似クラスの挙動について
- インターネットエクスプローラーでは、疑似クラスの所にカーソルをもってきて、すばやく上下に動かすと背景色が変わるまでに少し時間がかかる
- 原因はCSSの“background属性”にあり、URLが表示され、その後「ページが表示されました」と表記される
- URLを表示しつつ「background属性」で画像を埋め込むことは可能か
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
あああ 色々しまった! >aタグはインライン要素なため ごめん、確かにblockとしてだからspan側にwidthにした方がよさそうだね >しかし、画像は表示されませんでした 言われて気が付いた。 <span><a></a></span> だとspanに背景が有る場合でもaでbackground-colorを指定してるから塗りつぶされちゃうんだよね・・・ 画像が透過系であるならspanとaは逆でなきゃならないね だから相変わらずaがblockで、aの内側にspanを持ってきてそれに背景画像・・・という形でなら画像が透過系ならaのbackground-colorも正しく適用になるかな・・・確認すれば早いんだけどね・・・
その他の回答 (2)
- SAYKA
- ベストアンサー率34% (944/2776)
aの中身がそれぞれ独立しているような画像にするのが目的なら ちょっと手間だけどさらに1つくくるしか無いかも <div class="category"> <span class="category2"><a></a></span> <span class="category2"><a></a></span> </div> #category a での display:block; と background はcategory2側で指定するようにする、と。 こうするとaでは画像に関する記述が無くなるという理屈になるんだけど…どう?
お礼
SAYKAさんへ いろいろと考えていただき、ありがとうございます。 以下のような感じで作成してみました。 -------------------------------------------------------------------- HTML ---------------------------------------------------------------------- <div id="category"> <span class="category2"><a href="http://www.~">test1</a></span> <span class="category2"><a href="http://www.―">test2</a></span> <span class="category2"><a href="http://www.=">test3</a></span> <span class="category2"><a href="http://www.△">test4</a></span> <span class="category2"><a href="http://www.×">test5</a></span> </div> -------------------------------------------------------------------- CSS ---------------------------------------------------------------------- #category a{ padding:5px 12px; width:140px; border: 1px solid red; background-color:blue; text-decoration:none; } (aタグはインライン要素なため、width属性を使用することは好ましくないかもしれません。よって、場合によっては「display:block;」とブロック要素になるように記述)。 .category2{ display:block; background-image:url("縦、横10pxの画像"); background-repeat:no-repeat; background-position:left; } ------------------------------------------------------------------- としてみました。しかし、画像は表示されませんでした。 試しに、CSSの「category2」を「category2 a」と記載してみました。 すると、画像は表示されました。しかし、この書き方は、「category a」とおなじになってしまい、やはり「ページが表示されました」と表示されてしまいます。 けれど、新しいボックスを作成するところに打開策があるような気がします。もう少しチャレンジしてみます。
- SAYKA
- ベストアンサー率34% (944/2776)
画像が同じ物なのだとしたら hoverで指定している画像 というか hover無しのaの設定はhoverで引き継がれるので同じである場合は指定しなくて大丈夫だよ。 すると・・・ #category a{ display: block; background-image:url("縦、横10pxの画像"); background-repeat:no-repeat; background-position:left; padding:5px 12px; width:140px; border: 1px solid red; background-color:blue; text-decoration:none; } #category a:hover{ background-color:green; border-color:black; } で大丈夫な筈・・・・・
お礼
早急なご回答、誠にありがとうございます。 さっそく、SAYKAさんの方法で試してみました。 CSSが簡略化でき、たいへんうれしく思います。 しかし、1カ所「background属性」が使われているためか、「ページが表示されました」という表記は変わりませんでした。
お礼
SAYKAさんへ ありがとうございます。 いろいろとガンバってみましたが、エクスプローラーでは実現できませんでした。