zoukankan      html  css  js  c++  java
  • css cross-fade()实现背景图像半透明效果

    实现图像半透明的方法挺多,无论是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;
    }
  • 相关阅读:
    微信小程序中样式问题
    根据后台数据,渲染多个坐标在小程序中
    配置vscode同步大神玺哥的配置
    vue总结
    回文数
    Pytorch的runtime error
    PyTorch图像预处理
    python isinstance()函数
    Java实现weightedUF
    Java Iterator
  • 原文地址:https://www.cnblogs.com/chao202426/p/13278380.html
Copyright © 2011-2022 走看看