0

我正在研究一个下拉菜单,并且遇到了一个麻烦的地方,让悬停效果按照我的预期工作。当我将鼠标悬停在图像上时,我希望进行下拉操作,这很好用。但我也希望图像下方的文本充当连接文本和下拉菜单的选项卡。

我把这个jsfiddle例子放在一起给出一个粗略的想法。所以当我将鼠标悬停在按钮上时,“HOVER”文本的背景应该变成绿色。但是当我直接将鼠标悬停在文本上时它才会变成绿色,我希望它在我将鼠标悬停在实际按钮上时运行悬停效果。我希望这是有道理的?

继承人的html:

<div class="menu">
<ul>
    <li><div class="btn"><p>HOVER</p></div>
        <ul>
            <li><a href="#">Menu Item</a></li>
            <li><a href="#">Menu Item</a></li>
        </ul>
    </li>
</ul>

和CSS:

.btn{
    display: block;
    width: 68px;
    height: 22px;
    padding-top: 70px;
    font-weight: bold;
    float: left;
    padding-right:30px;
    text-align:center;
}

.btn{
    background: url("http://www.aidancotter.com/images/face.png") no-repeat -5px 0px;
}

.btn:hover{
    background-position: -5px -120px;
}

.menu ul li{
    list-style:none;
}

.menu{
    display: inline;
    float: left;
    padding-right:30px;
    padding:20px 0 0 20px;
}

a{
    text-decoration:none;
    color:#000;
}

.btn p{
    font-family:Arial;
    padding:10px;
    color:#000;
    padding:5px;
    border-radius:5px;
}

.btn p:hover{
    background:#78a802;
    cursor:pointer;
    color:#fff;
}

.menu ul li ul{
    display:none;
    background:#78a802;
    position:absolute;
    width:200px;
    color:#fff;
    margin-top:95px;
}

.menu ul li:hover ul{
    display:block;
    padding:15px;
    line-height:30px;
}

.menu ul li a:hover{
    color:#fff;
}

任何帮助将非常感激!

4

2 回答 2

2

添加这个

li:hover div{  background-position: -5px -120px; color:green} 

演示


对于文本 BG 颜色,您需要在文本周围添加另一个标签

li:hover span{  background-color:#78a802; color:green; display:block} 
li:hover div{  background-position: -5px -120px; color:green}

演示 2 更新

于 2013-02-14T11:51:16.723 回答
0

在 CSS 中添加以下属性:

.btn:hover p {
    background-color: #78a802;
}

更新了小提琴链接

于 2013-02-14T12:03:19.803 回答