CSS - 获取背景颜色以填充下拉菜单

时间:2013-03-12 05:39:33

标签: html css html5 css3 xhtml

CSS新手。我有一个导航菜单栏,当你将鼠标悬停在“投资组合”下时,我试图填充背景颜色(蓝色)。有任何想法吗?我认为这是因为绝对的?

CSS:

#nav, #nav ul {
float: left;
list-style: none;
box-shadow: 0px 1px 7px #000000;
background-color: #F5F1DE;
border-radius: 5px 5px 0px 0px;
z-index: 100;
}

#nav li a {
display: block;
padding: 16px;
text-decoration: none;
font-weight: bold;
color: black;
border-left: 1px solid #ccc;
font-size: 1em;
}

#nav li a:hover {
color: black;
background-color: #bbecff;
}

#nav li {
float: left;
}

#nav li ul {
position: absolute;
width: 11em;
left: -999em;
border-radius: 1px;
}

#nav li:hover ul, #nav li.sfhover ul {
left: auto; 
}

HTML:

<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Packages</a></li>
<li><a href="#">Portfolio</a>
    <ul>
        <li><a href="#">Weddings</a></li>
        <li><a href="#">Special Events</a></li>
        <li><a href="#">Holidays</a></li>
        <li><a href="#">Fresh Flowers</a></li>
        <li><a href="#">Balloon Sculptures</a></li>
    </ul>
</li>
<li><a href="#">Contact</a></li>
</ul>

5 个答案:

答案 0 :(得分:1)

试试这个,希望它适用于你

添加CSS

#nav li ul{
background:#0066CC;
}

答案 1 :(得分:1)

仅为float:left的第一个孩子添加ul。更新以下css行:

#nav li {float: left;}

#nav > li {float: left;}

以下是fiddle

答案 2 :(得分:1)

为以下

提供背景颜色
 #nav li:hover ul, #nav li.sfhover ul

答案 3 :(得分:0)

#nav li:hover ul, #nav li.sfhover ul {
    background-color: #bbecff; 
}

但话虽如此:为什么不直接将background-color应用于子菜单ul

答案 4 :(得分:0)

U也可以尝试这个,我给了id各自的li

 <li id=blueColor>
        <li><a href="#">Weddings</a></li>
        <li><a href="#">Special Events</a></li>
        <li><a href="#">Holidays</a></li>
        <li><a href="#">Fresh Flowers</a></li>
        <li><a href="#">Balloon Sculptures</a></li>
    </ul>

在CSS中

#blueColor:hover{
backgroung-color:blue
}