【发布时间】:2016-02-19 19:25:57
【问题描述】:
我已经让覆盖在 :hover 上工作。但是我想使用 CSS3 添加一个缓入过渡。网上好像找不到工作版。
到代码!
所以我有一个只包含一个图像的 div。当我将鼠标悬停在它上面时,它会显示一个带有 2 个文本元素的彩色叠加层。
<div class="item">
<img src="assets/images/blah.jpg" class="image">
<a class="overlay" href="#">
<h3 class="title">Some title</h3>
<div class="description">
<h4>Lorem ipsum dolor sit amet. consectetur adipisicing elit.</h4>
</div>
</a>
</div>
对于我的 CSS,我添加了 -transition 代码:
.item {
position: relative;
background-color: white;
-webkit-transition: background-color 2s ease-in;
transition: background-color 2s ease-in;
}
.overlay {
background: white;
position: absolute;
display: none;
}
.item:hover .overlay{
display:block;
background-color: black;
}
但是这个过渡效果不起作用!请帮忙!
我是否需要更改 -transition 以使用 display 或 all ?
我有一个jsfiddle which has the :hover working,只是没有动画。
非常感谢
【问题讨论】:
-
display不是可转换的属性。您在悬停时将其从none更改为block,因此它永远不会转换。 -
谢谢大家!这是有道理的。我认为 display: block 正在杀死它