问题描述
我正在处理具有在悬停时消失的渐变的图像。但是,我无法过渡。我已经尝试了所有已知的Webkit转换,但似乎并不想使用。
I am working on an image with a gradient that disappears on hover. However, I can't get this to transition. I've tried every webkit transition that I know of and it doesn't seem to want to work.
以下是HTML:
<a href="http://calvarygigharbor.com/heavenly-hitters/">
<div class="tinted-image"> </div></a>
使用此CSS:
.tinted-image {
-webkit-transition: all .7s ease;
transition: all .7s ease;
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 Aspect Ratio */
border-radius: 10px;
background:
linear-gradient(
rgba(255, 0, 0, 0.6),
rgba(237,240,0,0.6)
),
/* image */
url(http://calvarygigharbor.com/wp-content/uploads/2018/05/church-softball-2018.jpg);
background-size: contain;
}
.tinted-image:hover {
-webkit-transition: all .7s ease;
transition: all .7s ease;
position: relative;
width: 100%;
padding-top: 56.25%; /* 16:9 Aspect Ratio */
border-radius: 10px;
background:
/* image */
url(http://calvarygigharbor.com/wp-content/uploads/2018/05/church-softball-2018.jpg);
background-size: contain;
}
图片和悬停效果很好,没有过渡。
The picture and hover work beautifully minus the transition. How would you get a transition to work with this?
URL:
推荐答案
您不能在渐变上应用过渡,您可以尝试在 background-size
上添加过渡效果。使用 background-size
的其他值来调整转换的工作方式,还可以更改 background-position
:
You cannot apply transition on gradient, you may try to add transition on background-size
. Use different value of background-size
to adjust the way the transtion will work and you can also change the background-position
:
.tinted-image {
-webkit-transition: all .7s ease;
transition: all .7s ease;
position: relative;
width: 100%;
padding-top: 56.25%;
/* 16:9 Aspect Ratio */
border-radius: 10px;
background: linear-gradient( rgba(255, 0, 0, 0.6), rgba(237, 240, 0, 0.6)),
/* image */
url(http://calvarygigharbor.com/wp-content/uploads/2018/05/church-softball-2018.jpg);
background-size:100% 100%, contain;
background-position:center,center; /*OR [left,center] OR [top,center] ...*/
background-repeat:no-repeat;
}
.tinted-image:hover {
-webkit-transition: all .7s ease;
transition: all .7s ease;
position: relative;
width: 100%;
padding-top: 56.25%;
/* 16:9 Aspect Ratio */
border-radius: 10px;
background-size:0 0,contain; /* OR [100% 0,contain] OR [0 100%,contain] */
}
<a href="http://calvarygigharbor.com/heavenly-hitters/">
<div class="tinted-image"> </div>
</a>
这篇关于简单的CSS过渡-无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!