我正在尝试编写在图像上显示文本的代码,并且我正在尝试实现悬停效果。我将代码发布在http://codepen.io/kikibres/pen/LVxmBG,以便您可以查看其工作原理。如您所见,当您将鼠标悬停在图像上时,它会变暗,但文本背景不会受到影响。同样,将鼠标悬停在文本背景上时,不会激活图像效果。我想将它们连接在一起但是怎么样?看起来我可能需要编辑html,我想?
Html代码:
<div class="fourcolumns">
<div class="productpic">
<a href="#">
<img src="http://i.imgur.com/SZen19w.png" alt="Scuba">
<h2 class="captioncolumn"><span>SCUBA</span></h2>
</a>
</div>
</div>
CSS代码:
.fourcolumns { width: 100%; position: relative; margin: 40px 0;}
.productpic { width: 25%; float: left; display: inline-block; position: relative; margin: 0; padding: 0; background-color: #000000;}
.productpic a { }
.productpic img { width: 100%; opacity: 1;}
.productpic img:hover { opacity: 0.5;}
.productpic .captioncolumn { width: 80%; /*height: 50px;*/ background-color: #ffffff; position: absolute; top: 20px; left: 0; opacity: 1; padding: 5px 0 5px 20px;}
.productpic .captioncolumn span { font-family: 'Oswald', sans-serif; font-weight: 300; font-size: 36px; position: relative; color: #2a286a; opacity: 1; }
.productpic .captioncolumn:hover { opacity: 0.5;}
答案 0 :(得分:1)
使用这将有所帮助 .productpic img:hover .productpic .captioncolumn,.productpic img {opacity:0.5;}
答案 1 :(得分:0)
好的。根据你的评论,建议是使用方式 -
.productpic img:hover + h2{ background:transparent;}
.productpic img:hover {
opacity: 0.5;
}
答案 2 :(得分:0)
这一切归结为将所有东西连接在一起的链接,这样无论盒子的哪个区域悬停在上面,它都会被激活,而不是一个区域,当盘旋时,显示悬停效果和其他区域没有显示悬停效果。但是,我不希望文本框在悬停效果中受到影响。因此,我四处寻找答案,只在父链接中激活子元素。这是答案:
.productpic a:hover img { opacity:0.5; }
查看最终结果