首页 > Web开发 > 详细

css cross-fade()实现背景图像半透明效果

时间:2020-07-10 12:17:06      阅读:74      评论:0      收藏:0      [点我收藏+]

实现图像半透明的方法挺多,无论是filter滤镜、mask遮罩、opacity透明度设置都可以实现

要用background-image背景图片实现的话,可能第一个就会想到使用::before、::after伪元素实现,例如:

.box {
   position: relative;
   z-index: 0;
}
.box::before {
   content: ‘‘;
   position: absolute;
   left: 0; right: 0; top: 0; bottom: 0;
   background: url(xxx.jpg) no-repeat center / contain;
   z-index: -1;
   opacity: .5;
}

其实,还可以使用cross-fade()实现

cross-fade()函数可以让两张图像半透明混合

<div class="cross-fade-image"></div>

.cross-fade-image {
    width: 300px; height: 300px;
    background: no-repeat center / contain;
    background-image: -webkit-cross-fade(url(1.jpg), url(2.jpg), 50%);
    background-image: cross-fade(url(1.jpg), url(2.jpg), 50%);   
}

语法如下:

<image-combination> = cross-fade( <image>, <image>, <percentage> )

调整下背景图的明暗度,使用cross-fade()函数实现就是下面这段CSS代码

.dark {
    /* 兜底,IE和Firefox浏览器 */
    background-image: url(2.jpg);
    --transparent: url(data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==);
    /* Safari最近版本已经不需要私有前缀了 */
    background-image: cross-fade(var(--transparent), url(2.jpg), 40%);
    /* 如使用自定义属性,-webkit-语句需要放在没有私有前缀语句的下面 */
    background-image: -webkit-cross-fade(var(--transparent), url(2.jpg), 40%);

    background-size: cover;
}

 

css cross-fade()实现背景图像半透明效果

原文:https://www.cnblogs.com/chao202426/p/13278380.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!