繁体   English   中英

从左到右逐渐覆盖一个图像

[英]Gradually cover one image with other from left to right

是否可以从左到右逐渐覆盖一个图像? 就像将一个图像加载到另一个图像上一样。 或者您可以想象带有图像而不是线条的进度条。 我希望你理解我。

我尝试了类似下面的方法,但我不想要那种褪色效果,而且它不会从左到右改变颜色(图像)。

 .bgImg { width: 500px; height: 500px; background-image: url(https://s14.postimg.org/unjnz24ld/rkfe2i3pdqqx.jpg); background-repeat: no-repeat; -webkit-transition: background-image 2s linear; -moz-transition: background-image 2s linear; -ms-transition: background-image 2s linear; transition: background-image 2s linear; } .bgImg:hover { background-image: url(https://s14.postimg.org/mi1m10iy9/gre.jpg); }
 <div class="bgImg"></div>

您可以使用渐变颜色作为背景并简单地设置background-size动画,然后在 html 中使用您的文本,而无需在图像中使用它:

 .bgImg { width: 500px; height: 150px; text-align:center; font-size:30px; background: linear-gradient(red,red), yellow; background-size:0% 100%; background-repeat: no-repeat; transition:2s linear; } .bgImg:hover { background-size:100% 100%; }
 <div class="bgImg"> Some text</div>

如果您仍然想使用您的图像,请考虑像这样设置background-position动画:

 .bgImg { width: 500px; height: 500px; background-image: url(https://picsum.photos/id/10/500/500), url(https://picsum.photos/id/15/500/500); background-repeat: no-repeat; background-position:500px 0,0 0; transition: 2s linear; } .bgImg:hover { background-position:0 0,0 0; }
 <div class="bgImg"></div>

或者考虑使用如下伪元素:

 .bgImg { width: 500px; height: 500px; background: url(https://picsum.photos/id/15/500/500) center/cover; position:relative; } .bgImg:before { content:""; position:absolute; top:0; left:100%; right:0; bottom:0; background: url(https://picsum.photos/id/10/500/500) right/auto 100% no-repeat; transition: 2s linear; } .bgImg:hover:before { left:0; }
 <div class="bgImg"></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM