どうしても理解できませんので、どうかお力添えをお願いいたします。
以下のかんたんな“カテゴリー”を、HTMLとCSSで作成しました。
-------------------------------------------------------------------
(HTML)
<div id="navi">
<div id="kategory">
<a href="http://~">テスト1</a>
<a href="http://―">テスト2</a>
</div>
</div>
-------------------------------------------------------------------
(CSS)
#navi{
width:180px;
} (幅180pxのBOXを作成)
#kategory a:link, #kategory a:visited{
display: block;
background-color:red;
border:solid 1px;
} (マウスカーソルがのっていないとき、背景色は赤色)
#kategory a:hover{
background-color:green;
} (マウスカーソルがのっているとき、背景色は緑色)
--------------------------------------------------------------------
「firefox」では問題なかったのですが、「Internet Explorer」ではリンク文字のところにカーソルをもっていかないと、背景色が赤色から緑色に変化しませんでした。
いろいろと調べてみた結果、
「position:absolute;
top: 0px;」
をCSSの「#navi」のなかに書きたすことで、リンク文字以外の箇所にマウスをもってきても背景色が赤色から緑色に変化するようになりました。
どうして「position:absolute;」という属性を使うことにより、リンク文字以外のところへカーソルをもってきても、赤色から緑色へ変化するようになるのでしょうか?
どうか、よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
こんにちは
Internet Explorerのバグです
http://www6.plala.or.jp/go_west/nextcss/tip/tech …
親要素に幅が設定されていないとそれでもできるのですが幅が指定してある場合にはテキスト部分しか判定されないようです
<a>に幅をつけることで解消します
#kategory a:link, #kategory a:visited{
display: block;
width:178px;
background-color:red;
border:solid 1px;
}
※border分2pxがありますのでそれを引いた178pxとなります
position:absoluteすることでおそらくwidth:180pxが100%となるので親要素の幅が指定されていない状態になりできるのではないかと思います(推測ですが(--;)
試しに↓のようにするとposition:absolute;していても同じ状態になります
<style type="text/css">
#navi{
width:180px;
position:absolute;
}
#kategory a:link, #kategory a:visited{
display: block;
background-color:red;
border:solid 1px;
}
#kategory a:hover{
background-color:green;
}
--></style>
<div id="navi">
<div id="kategory">
<div style="width:100px">
<a href="http://~">テスト1</a>
<a href="http://―">テスト2</a>
</div>
</div>
</div>
leap_dayさんへ
なるほど! インターネットエクスプローラーのバグだったのですね。
たいへんわかりやすい説明をありがとうございました。スッキリしました。
リンク先のURLも理解しやすかったです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS HTML、cssのatomつぅーやつで 課題Ex1ってやつを表示させたいのですが、 私は課題Ex1が 2 2022/12/15 16:56
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript vertical sliderをautoplayしたい 2 2022/08/25 14:47
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
W3Cのソースコードの検証サービ...
-
CSSで画像を同じ位置に重なり合...
-
画像内リンクについて
-
CSSがなぜかfont-sizeだけ効か...
-
CSSで背景色を下まで表示させたい
-
定義リストに下線をつけたいと...
-
z-indexで上になっている要素だ...
-
CSS:animation開始位置の設定
-
IEだとdivが横に並びません
-
画像と一緒にスライドするリン...
-
divの入れ子が上手くいきません。
-
htmlでのfloatを解除すると 親...
-
セル内のリンク文字を中央に配...
-
widthやheightの数値に単位(px...
-
Safariで、Textareaのボーダー...
-
CSSで左に画像、右にテキストを...
-
ul/liタグでのリスト表示におけ...
-
レスポンシブコードの意味なの...
-
CSS(0の単位)について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
画像イメージの上下左右、欲し...
-
CSS、width100%でもできる余白
-
CSSがなぜかfont-sizeだけ効か...
-
css初心者 フレックスボックス...
-
余分な縦スクロールバーが出て...
-
CSS:animation開始位置の設定
-
W3Cのソースコードの検証サービ...
-
form input テキストを上下中央...
-
スクロールボックスを中央に配...
-
CSSでボックスのheightが0になる
-
【CSS】ヘッダーの高さが不明の...
-
表示倍率を変えるとレイアウト...
-
Media Queries 4 で 非推奨とな...
-
div領域をウインドウサイズに合...
-
CSS(0の単位)について
-
divで囲まれたpaddingの指定を...
-
中点「・」の改行について
-
【HTML】【CSS】【Swiper】 元...
おすすめ情報