![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?8acaa2e)
下のサイトを参考にドロップダウンメニューを作成したのですが、
ドロップダウンで出てくるサブメニューにマウスを移動した際、一番上のメニューのhoverの効果が消えてしまい困っています。
どうすれば、サブメニューにマウスを移動しても一番上のメニューのhoverの効果を残せるようにできるのでしょうか?
【参考にしたサイト】
http://weboook.blog22.fc2.com/blog-entry-359.html
(このサイトでは綺麗に動いています。。)
【私のコード】
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
/** 1階層目 **/
#menu { list-style-type: none; }
#menu > li {
position: relative;
float: left;
text-align: center;
}
#menu > li > a {
display:inline-block;
margin-left:20px;
line-height: 1;
}
#menu > li > a:hover { background:lightpink; }
/** 2階層目 **/
#menu > li > ul {
position: absolute;
top: 100%;
left: 0;
list-style-type: none;
}
#menu > li > ul > li {
position: relative;
overflow: hidden;
height: 0;
width: 200px;
text-align:left;
}
#menu > li:hover > ul > li {
overflow: visible;
height:2em;
}
</style>
</head>
<body>
<div>
<ul id="menu">
<li><a href="#">menu 1</a></li>
<li><a href="#">menu 2</a>
<ul>
<li><a href="#">sub menu 1</a></li>
<li><a href="#">sub menu 2</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
宜しくお願い致します。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
<!DOCTYPE html>
HTML5のつもりかな???ならもっとも基本的なこと!!
DIVは他に適当な要素がないときの最後の手段です。【原則として使わない!!】
NOTE:Authors are strongly encouraged to view the div element as an element of last resort, for when no other element is suitable.Use of more appropriate elements instead of the div element leads to better accessibility for readers and easier maintainability for authors.( http://www.w3.org/TR/2012/CR-html5-20121217/grou … )
著者は、 div要素を、他に適切な要素がないときなど、最後の手段として考えることを強く推奨する。適切な要素を使うことは、読者にとってはアクセシビリティ向上に、著者にとってメンテナンス性の向上につながる。
それによって、HTML/CSSは、下記のように簡単なものになります。
CSSの意味もHTML見なくても、何を指定しているかすぐわかる。
nav ul li:hover{}
ナビゲーションの子孫のulの子孫のliにhover・・・
このくらいなら、差はないけど、大きなページになると、<DIV>や意味のないidやclass名を記述しているとワケワカメになります。
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
nav ul,nav ul li{
list-style:none;
margin:0;padding:0;
line-height:2em;
}
nav ul li{
display:inline-block;
width:6em;
text-align:center;
position:relative;
}
nav ul li ul{
position:absolute;
top:100%;left:1em;
background-color:rgb(255,200,200);
display:none;
}
nav ul li a{
display:block;
width:100%;height:100%;
}
nav ul li:hover ul{
display:block;
}
nav ul li ul li{
display:block;
}
nav ul li:hover{
background-color:red;
}
</style>
</head>
<body>
<nav>
_<ul id="menu">
__<li><a href="#">menu 1</a></li>
__<li><a href="#">menu 2</a>
___<ul>
____<li><a href="#">sub menu 1</a></li>
____<li><a href="#">sub menu 2</a></li>
___</ul>
__</li>
_</ul>
</nav>
</body>
</html>
No.1
- 回答日時:
ちょっと意味がわかりづらいのですが
サブメニューに移ってもメインの背景がピンクのままということ?
であれば
>#menu > li > a:hover { background:lightpink; }
#menu > li:hover > a { background:lightpink; }
とすればよいかと
ただし、古いブラウザだとliのhoverを認識してくれない場合もあるので注意
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- HTML・CSS アコーディオンメニューが思うように動作しません。 1 2023/08/20 16:48
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
- HTML・CSS HTML & CSS 縦ボックス内の文字の左右センタリング 3 2023/03/25 04:23
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- HTML・CSS cssの display: flex;で横並びにならずに困ってます 1 2022/12/04 13:18
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- HTML・CSS htmlについて質問です! 写真のように写真の部分が?になってしまいます。 ファイルもしっかり選べて 1 2023/07/09 21:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
番号付きリスト(<Ol><Li>・・...
-
<ul>~</ul>が二つ続くと間に改...
-
liタグの中に<p>タグやら<dl>を...
-
ulタグやliタグの中でbrタグ...
-
ulとliで囲った文字の一部を変...
-
HTMLで組織図を作成する方法
-
(HP作成)メニューバーのプル...
-
CSSのみでのドロップダウンメニ...
-
リストマーカーをボックス内に...
-
円形の配置にするコーディング...
-
css ol liにdisplay:inlineを設...
-
レスポンシブWebデザインでリン...
-
ドロップダウンの残像
-
CSSでのリスト内のある特定のア...
-
monacaで使うcssの釦の色を変え...
-
header と nav の隙間を埋めたい。
-
<ul>と<li>リストマークを消す...
-
HTML5のfooterに見出しを付けて...
-
html/cssの、navを2段にする...
-
リストを2つに分割して、それぞ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
リストマーカーをボックス内に...
-
liタグの中に<p>タグやら<dl>を...
-
<table>の高さ固定。情報増加時...
-
レスポンシブWebデザインでリン...
-
html/cssの、navを2段にする...
-
リストの数字のフォントサイズ...
-
divタグ内のコンテンツが重なっ...
-
<ul><li></li></ul>にするメリ...
-
HTMLで組織図を作成する方法
-
ulタグやliタグの中でbrタグ...
-
リンク文字同士の間隔を開ける...
-
<ul>~</ul>が二つ続くと間に改...
-
ulとliで囲った文字の一部を変...
-
番号付きリスト(<Ol><Li>・・...
-
display:table;を多段表示させたい
-
ボタンを横に並べて表示させる方法
-
CSS質問:大手サイトを見ると何...
-
html <li>の中の文字一部に色を...
-
html <ul></ul>の並びで一行空...
-
Tableの1セル内に画像・テキス...
おすすめ情報