【发布时间】:2014-12-12 12:51:00
【问题描述】:
我正在努力解决这个问题。如果用户将鼠标悬停在父元素上,我想更改两个子元素的背景。
这是使用我当前拥有的代码时该图像的外观。悬停时应该是全棕色的图像,没有蓝色。
HTML:
<div id="nav-about" class="nav-btn">
<h2>About Us</h2>
<div class="nav-btn-lt"></div>
<div class="nav-btn-rt"></div>
</div>
nav-btn 类使用重复的 x 背景,nav-btn-lt 类是一个阴影,遗憾的是我无法使用 css 重现,而 nav-btn-rt 类是我无法显示的图像悬停时。
这是 CSS:
.nav-btn {
position:relative;
width:22%;
display:inline-block;
height:110px;
cursor:pointer;
margin:11px 2% 0 0;
border-top:2px solid #EFFFFF;
border-bottom:2px solid #1F3152;
background:url(bg-btn-off.gif) repeat-x;
}
.nav-btn:hover {
background:url(bg-btn-on.gif) repeat-x;
}
.nav-btn h2 {
position:absolute;
top:10px;
left:10px;
font-size:150%;
font-weight:600;
color:#eee;
}
.nav-btn-lt {
position:absolute;
top:-2px;
left:0;
width:2px;
height:114px;
background:url(lt-nav.png) no-repeat 0 0;
}
.nav-btn-rt {
position:absolute;
top:-2px;
right:0;
width:54px;
height:114px;
background:url(rt-nav-off.png) no-repeat 0 0;
}
是否可以在将鼠标悬停在父元素上时更改两个子元素上的图像?
【问题讨论】:
-
感谢您的编辑,贾廷。
-
类似
.nav-btn:hover > div:first-child {hover-bg}和.nav-btn:hover > div:last-child {hover-bg} -
谢谢 ManSam 先生。我会试一试。我认为这会更复杂一些。很高兴看到这很容易解决。
-
您可能还需要在 CSS 的其他地方进行一些更改。
.nav-btn:hover > div:first-child只会选择按钮的第一个 div 子元素,其中第一个 div 是.nav-btn的直接子元素。当然,您也可以像下面的答案一样定位类:) -
实际上,您的第一条规则开箱即用。我不敢相信这很容易。谢谢!