首页 > 其他分享 >mix-blend-mode和background-blend-mode应用场景

mix-blend-mode和background-blend-mode应用场景

时间:2023-06-19 20:11:06浏览次数:34  
标签:color mix mode background position blend

mix-blend-mode 使多重叠元素的颜色发生混合,包括元素与元素,元素与图片

background-blend-mode 使得多个背景发生混合,包括背景图与背景图,背景图与背景色

isolation: isolate 可以创建层叠上下文,就可以阻断mix-blend-mode,使多个元素能分组进行混合,不干扰

常用场景

1. 图片后方的元素能透视出来,不被遮挡

可以用 mix-blend-mode: screen;

2. 文字反色效果

可以用 mix-blend-mode: difference;

.main {
    width: 600px;
    height: 200px;
    /* 45度渐变可以形成梯形的效果 */
    background: linear-gradient(45deg, #000 0, #000 50%, #fff 50%);
    position: relative;
    margin: 100px auto;
}
.main::before {
    content: '白雾茫茫丶';
    position: absolute;
    font-size: 50px;
    width: 100%;
    height: 100%;
    top: 40%;
    left: 20%;
    color: #fff;
    mix-blend-mode: difference;
    animation: move 3s infinite linear alternate;
}

@keyframes move {
    0% {
    transform: translateX(20%);
    }

    100% {
    transform: translateX(-20%);
    }
}

3. 文字镂空

上层文字,要透视后面的图片

可以用 mix-blend-mode: screen;

4. 文字背景

就是图片只显示文字的部分,与background-clip: text类似

可用 mix-blend-mode: lighten

黑色字体在上方,下面浅色的图片就会透视出来

5. 图标变色

图标可以变为渐变色或者纯色,使用黑色图标,lighten混合可以将浅的渐变色显示出来,加上position变化,还可以实现滑动的渐变色效果

.pic1 {
    background-image: url($img), linear-gradient(#f09, #09f, #f0f);
    background-blend-mode: lighten;
    background-size: cover;
    background-position: 0 0, 0 120px;
    background-repeat: no-repeat;
}

.pic1:hover {
    background-position: 0 0, 0 0;
}

或者

/* 变色的时候改变 --fill-color 的属性值 */
.element {
    --fill-color: gray;
    background: linear-gradient(var(--fill-color), var(--fill-color)), url(./icon.svg), #fff;
    /* 或者 lighten, normal; */
    background-blend-mode: screen, normal;
}

 

 

出处: https://juejin.cn/post/7208708762265059365
    https://www.cnblogs.com/coco1s/p/8124815.html
        https://www.zhangxinxu.com/wordpress/2022/01/css-background-image-color/

标签:color,mix,mode,background,position,blend
From: https://www.cnblogs.com/mengff/p/17492081.html

相关文章

  • 自定义 v-model 指令
    //two.jsexportdefault{bind(el,binding,vnode){console.log(binding);el.value=binding.valueif(/\.async/.test(binding.rawName)){el.onchange=handleFn;}else{el.oninput=handleFn;......
  • BMZCTF:oldmodem
    http://bmzclub.cn/challenges#oldmodem使用file命令查看下,发现是wav文件但是修改后缀为wav后缀后并没有看出什么也没听出什么然后根据题目名称得知这是modem文件,装个minimoden去识别这个文件直接kali中:sudoapt-getinstallminimodem这个题目原来还有个提示没给就是这个modem......
  • uview提示:设置rules,model必须设置
    问题:setRules时,uview提示:设置rules,model必须设置原因:<u-formref="form1"v-model="model1">眼瞎把v-model当成:model,可能全网只有我遇到。解决:<u-formref="form1":model="model1">正确绑定model这个prop即可拓展(仅作白话解释,详情查阅vue官网):v-model双向绑定,......
  • ModelBox实战开发:RK3568实现摄像头虚拟背景
    摘要:本文将使用ModelBox端云协同AI开发套件(RK3568)实现摄像头虚拟背景AI应用的开发。本文分享自华为云社区《ModelBox开发案例-RK3568实现摄像头虚拟背景【玩转华为云】》,作者:AI练习生。本文将使用ModelBox端云协同AI开发套件(RK3568)实现摄像头虚拟背景AI应用的开发。最终运......
  • Jetpack系列-Room+ViewModel+LiveData+ViewBinding实现MVVM
    Room能和LiveData很好的结合实现MVVM,Room可以利用LiveData的观察者模式,感知Lifecyle的状态,实现数据驱动UI,避免MVP模式下更新UI需要大量回调接口的繁琐。下面整合Room、ViewModel、LiveData、ViewBinding,实现一个简单的MVVM示例项目。1引入依赖引入ViewModel依赖:dependencies{......
  • 【C++】Effective Modern C++ Key Notes
    [errataveryimportant](https://www.aristeia.com/BookErrata/emc++-errata.html)>Argument,ActualArgument>Parameter,FormalParameter##一类型推导C++98有一套类型推导的规则:用于函数模板的规则。C++11修改了其中的一些规则并增加了两套规则,一套用于auto,一套用于dec......
  • RoundingMode 几个参数详解
    第一版java.math.RoundingMode几个参数详解java.math.RoundingMode里面有几个参数搞得我有点晕,现以个人理解对其一一进行总结:为了能更好理解,我们可以画一个XY轴RoundingMode.CEILING:取右边最近的整数RoundingMode.DOWN:去掉小数部分取整,也就是正数取左边,负数取右边,相当于向原点靠近......
  • Models, Mappings, Request Validation Notes
    RequestValidationAPIGatewaycanperformbasicvalidation.Thisenablesyou,theAPIdeveloper,tofocusonapp-specificdeepvalidationinthebackend.YoucanoffloadbasicvalidationtoAPIGateway.Forthebasicvalidation,APIGatewayverifieseith......
  • selenium headless报错Message: unknown error: failed to wait for extension backgr
    selenium进行打开chrome浏览器操作时报错。完整报错:selenium.common.exceptions.WebDriverException:Message:unknownerror:failedtowaitforextensionbackgroundpagetoload:chrome-extension://jppfbclhbammkjacehdkldjfgminfgca/_generated_background_page.html......
  • Blender-Texture
    建立模型之后点击导出UV布局图,记得选中物体之后,切换到编辑模式 uv自动展开: 然后使用ps对布局图绘制,然后切换到Shading 完成纹理绑定......