私は自分のウェブサイト用に作成したメニューを持っていますが、そこには第 2 レベルのメニューもありますが、問題は第 2 レベルのメニューにいくつかの問題があることです。
- サイズが大きくなっています
- メニュー項目が右に浮いている
- 別の第 1 レベルのメニュー項目の領域に入ります
これらの問題を解決したいのですが、自分では解決できません。
HTML:
<header>
<div class="welcome_area">
<p>Welcome, <b><a href="profile.php">Arkam Gadet</a></b>
</p>
</div>
<div class="menu">
<nav>
<ul style="z-index: 20;">
<li> <a href="profile.php">My Profile</a>
<ul style="display: none; background-color: #eee; box-shadow: 0px 0px 2px 3px #bbb; z-index: 1;">
<li><a href="#">My Questions</a>
</li>
<li><a href="#">Settings</a>
</li>
</ul>
</li>
<li><a href="inbox.php">Inbox</a>
</li>
<li><a href="#">Notifications</a>
</li>
</ul>
</nav>
</div>
</header>
CSS:
header {
background-color: #eee;
height: 45px;
box-shadow: 0px 2px 3px 1px #bbb;
}
a {
color: black;
text-decoration: none;
}
h2 {
color: #f79a1d;
}
.welcome_area {
float: left;
margin-left: 5%;
}
.menu {
float: right;
margin-right: 5%;
}
.menu nav > ul {
position: relative;
}
.menu nav ul li {
display: inline;
padding: 5px;
}
.menu nav ul li a {
padding: 2px;
}
.menu nav ul li a:hover {
background: #eee;
border: 0;
border-radius: 3px;
box-shadow: 0px 0px 2px 1px #000;
}
.menu nav > ul ul {
position: absolute;
left: 0;
}
.menu nav > ul li > ul li {
display: block;
}
フィドルでわかるように、アイテムは第 2 レベルのメニューで右に向かって浮かんでいます。
- 第 2 レベルのメニュー項目を左にフロート
- 第 2 レベルのメニューの幅を短くする
- それらをナビゲーションバーから送り返します。
- 別の第 1 レベルのメニュー項目の場所に入らないようにします。