我正在关注图像悬停效果的教程,其中文本弹出,背景变暗。教程here。
我对悬停效果有一个小问题,当鼠标悬停在图像上时,我希望图像变暗并覆盖整个图像,当我将ul.img-list li设置为高度100%时只占文本的100%,我可以将高度设置为图像的高度,但是当高度根据窗口大小而变化时,它将无法正确覆盖。我错过了什么吗?
HTML:
<div class="column large-6">
<ul class="img-list">
<li>
<a href="#">
<img src="https://www.ricoh.com/r_dc/r/r8/img/sample_08.jpg" />
<span class="text-content">
<span>Hello@!</span>
</span>
</a>
</li>
</ul>
CSS:
ul.img-list {
list-style-type: none;
margin: 0;
padding: 0;
text-align: center;
}
ul.img-list li {
display: inline-block;
height: 100%;
margin: 0 1em 1em 0;
position: relative;
width: 100%;
}
span.text-content {
background: rgba(0,0,0,0.5);
color: white;
cursor: pointer;
display: table;
height: 150px;
left: 0;
position: absolute;
top: 0;
width: 150px;
}
span.text-content span {
display: table-cell;
text-align: center;
vertical-align: middle;
}
span.text-content {
background: rgba(0,0,0,0.5);
color: white;
cursor: pointer;
display: table;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 150px;
opacity: 0;
-webkit-transition: opacity 500ms;
-moz-transition: opacity 500ms;
-o-transition: opacity 500ms;
transition: opacity 500ms;
}
这是我的jsfiddle - http://jsfiddle.net/f32kn4h5/
答案 0 :(得分:1)
我认为在查看你的小提琴之后你的部分问题是你的父div没有将height属性设置为静态的东西。如果您尝试将范围样式更改为300px
,则会看到它发生变化:
span.text-content {
height: 300px;
}
或者,将该文本跨度的每个父级设置为100%或其他内容,但每个父级必须存在高度:
<div class="column large-6"> //set to 100% or something
<ul class="img-list"> //set to 100% or something
<li> //set to 100% or something
<a href="#">
<img src="https://www.ricoh.com/r_dc/r/r8/img/sample_08.jpg" />
<span class="text-content">
<span>Hello@!</span>
</span>
</a>
</li>
</ul>
这应该让它有效,这里是你的小提琴的更新:http://jsfiddle.net/f32kn4h5/3/