这是我的HTML布局:
<ul class="main-menu">
<li class="sub">
Sections
<ul>
<li>Add Section</li>
<li>Edit Sections</li>
</ul>
</li>
<li></li>
<li></li>
<li></li>
<li></li>
和CSS
* {
margin: 0px;
padding: 0px;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
list-style-type: none;
}
.main-menu {
font-family: Tahoma, Geneva, sans-serif;
font-size: 13px;
color: #000;
display: inline-block;
margin-top: 15px;
margin-bottom: 15px;
margin-left: 15px;
}
.main-menu > li {
height: 22px;
width: 170px;
background: rgb(178,225,255); /* Old browsers */
background: -moz-linear-gradient(top, rgba(178,225,255,1) 0%, rgba(102,182,252,1) 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(178,225,255,1)), color-stop(100%,rgba(102,182,252,1))); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%); /* IE10+ */
background: linear-gradient(to bottom, rgba(178,225,255,1) 0%,rgba(102,182,252,1) 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2e1ff', endColorstr='#66b6fc',GradientType=0 ); /* IE6-9 */
margin-bottom: 7px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
-webkit-box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.70);
-moz-box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.70);
box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.70);
cursor: pointer;
text-align: right;
padding-top: 5px;
padding-right: 10px;
font-family: Tahoma, Geneva, sans-serif;
font-size: 13px;
}
.main-menu li:hover {
-webkit-box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.30);
-moz-box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.30);
box-shadow: 0px 3px 5px rgba(70, 58, 70, 0.30);
color: #CC0000;
}
.main-menu li ul {
display: none;
}
.main-menu > li.sub:hover ul {
display: block;
}
我正在使用css-gradient
li
元素,因此当我将鼠标悬停在width
上以显示子菜单时,它会固定height
和li
会有效但由于固定li
而无法在主width
下放置。
我想要一个解决方案,以便我可以使用gradient
并显示子菜单
答案 0 :(得分:1)
如果您只是希望悬停时列表项的高度变大,只需向height:auto;
.main-menu li:hover
即可
您可能希望更改子列表项的渐变以使其显得更平滑
答案 1 :(得分:1)
这是子菜单的弹出窗口。
我刚为子菜单和子菜单li
添加了一些CSS。
<强> CSS 强>
.main-menu > li.sub:hover ul {
display: block;
position: relative;
left: 180px;
top: -22px;
}
.sub li {
margin-left: 5px;
}
然后从主菜单li
复制子菜单li
的样式,方法是从您的选择器中删除>
。所以.main-menu > li
到.main-menu li
。