CSS冷门属性 mix-blend-mode 制作文字镂空效果

2024-04-26 01:38

本文主要是介绍CSS冷门属性 mix-blend-mode 制作文字镂空效果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

CSS冷门属性 mix-blend-mode 制作文字镂空效果

本篇文章为大家带来如何制作文字镂空效果,仅仅使用CSS样式进行处理,借助 mix-blend-mode 属性,将文字的颜色反转,从而实现视觉上镂空。

更多文章在我的 Github 及个人公众号【全栈道路】上,欢迎观赏【一个不知名的足球狗的前端知识点】,如有受益,不要钱,小手点个Star。

阅读本文您将收获

  • mix-blend-mode 属性介绍
  • mix-blend-mode 可以实现哪些效果

mix-blend-mode 属性

  • 官方直译为 混合模式
  • 混合模式在 图片处理软件 Photoshop 中比较常见,可以将多个图层用于同一张图片,从而将图片处理成其他效果,其实前端也能完成这样的效果,在使用合适的 样式属性 及 属性值 的情况下,是能够将图片处理成我们想要的效果。
  • 属性描述了 设置元素 与 直接父元素 的背景 如何混合,通过不同的属性值,我们可以将 设置元素 和直接父元素的背景 处理成叠加、滤色等等属性。
  • 如果你觉得文字描述难以理解,没有问题,请继续看下面的代码实践,通过实际效果来了解 mix-blend-mode 的各种属性值。

mix-blend-mode 属性值

在这里插入图片描述

图片是在PS层面的相关mode实际效果,转换成了相对好理解的内容,帮助我们了解各种混合模式的实际效果是在哪方面进行了相应的处理。

上图来源于网络,如有侵权,请联系删除~

由于属性值太多,本篇文章不再全部介绍,仅介绍几个平时可以用到的实践操作及属性值。其中部分属性值的解释摘自鑫旭大神的博客。

normal/initial/inherit/unset

  • 这几个属性值对设置元素的样式无特殊影响,分别是 正常、默认、继承、还原,所以这四种样式效果不再解释及展示效果。

multiply 正片叠底

  • 相当于在原背景图上增加了一个图层,而且能够将多个图层进行显示,达到透色的效果。
  • 以下动图是来自菜鸟教程的一个示例,如果不加混合模式属性,当按钮收起时各个图层会相互覆盖,达到透色的效果。
    在这里插入图片描述

screen 滤色

  • 使用滤色后,颜色会减淡,非常适合实现霓虹灯光效果,适合黑色背景素材和其他元素混合。

在这里插入图片描述

overlay 叠加

  • 在颜色值暗的时候,采用了类似“正片叠底”的算法,而颜色亮的时候,采用了类似“滤色”的算法。此混合模式比较适合实现文字水印效果。

在这里插入图片描述

darken 变暗 & lighten 变亮

  • 这两个属性值相似,都是为了突出子元素,只不过 darken 是为了突出底层的颜色,而 lighten 是为了突出上层图层的颜色,使用这两个属性可以实现单色的镂空,背景图不同的情况下显示效果不同。
    在这里插入图片描述

color-dodge 颜色减淡 & color-burn 颜色加深

  • color-dodge 颜色减淡混合模式可以用来保护底图的高光,适合处理高光下的人物照片。
  • color-burn 颜色加深混合模式可以用来保护底图的阴影,适合处理幽深秘境一类的照片,通过和特定的色彩进行混合,可以营造更加幽深的意境。

hard-light 强光 &soft-light 柔光

  • hard-light 的效果是强光,表现为图像亮的地方更亮,暗的地方更暗。多用在图像表现处理上。
  • soft-light 的效果是柔光,表现效果和 hard-light 有类似之处,只是表现没有那么强烈。

difference 差值 & exclusion 排除

  • 两种效果相差不大,可以实现反色的效果,只不过 exclusion 的对比度要低一些。

在这里插入图片描述

hue 色相 & saturation 饱和度 & color 颜色 & luminosity 亮度

  • 这四种属性值都是颜色系混合模式,在web开发中不常用。

实现字体镂空效果

在这里插入图片描述

  • 经过了上面的属性和属性值的介绍,我们可以通过 screen 滤色 属性值将设置元素颜色变淡,从而实现设置元素的颜色反转。
  • 代码如下
.parent {background-image: url("xxx");.child {font-weight: 900;font-size: 50px;color: #000;background-color: #fff;mix-blend-mode: screen;}
}

写在最后

如果你觉得这篇文章对你有益,烦请点赞以及分享给更多需要的人!

欢迎关注微信公众号【全栈道路】,获取更多科技相关知识及免费书籍。

更多好文

[万字长文]百度和好未来面试经含答案

[前端面试]前端缓存问题看这篇,让面试官爱上你

记一次惨痛的Vue-cli + VueX + SSR经历

[三分钟小文]前端性能优化-HTML、CSS、JS部分

[三分钟小文]前端性能优化-页面加载速度优化

[三分钟小文]前端性能优化-网络传输层优化

这篇关于CSS冷门属性 mix-blend-mode 制作文字镂空效果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/936372

相关文章

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

CSS Padding 和 Margin 区别全解析

《CSSPadding和Margin区别全解析》CSS中的padding和margin是两个非常基础且重要的属性,它们用于控制元素周围的空白区域,本文将详细介绍padding和... 目录css Padding 和 Margin 全解析1. Padding: 内边距2. Margin: 外边距3. Padd

CSS will-change 属性示例详解

《CSSwill-change属性示例详解》will-change是一个CSS属性,用于告诉浏览器某个元素在未来可能会发生哪些变化,本文给大家介绍CSSwill-change属性详解,感... will-change 是一个 css 属性,用于告诉浏览器某个元素在未来可能会发生哪些变化。这可以帮助浏览器优化

CSS去除a标签的下划线的几种方法

《CSS去除a标签的下划线的几种方法》本文给大家分享在CSS中,去除a标签(超链接)的下划线的几种方法,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧... 在 css 中,去除a标签(超链接)的下划线主要有以下几种方法:使用text-decoration属性通用选择器设置:使用a标签选择器,将tex

前端高级CSS用法示例详解

《前端高级CSS用法示例详解》在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交互和动态效果的关键技术之一,随着前端技术的不断发展,CSS的用法也日益丰富和高级,本文将深... 前端高级css用法在前端开发中,CSS(层叠样式表)不仅是用来控制网页的外观和布局,更是实现复杂交

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

浅谈mysql的sql_mode可能会限制你的查询

《浅谈mysql的sql_mode可能会限制你的查询》本文主要介绍了浅谈mysql的sql_mode可能会限制你的查询,这个问题主要说明的是,我们写的sql查询语句违背了聚合函数groupby的规则... 目录场景:问题描述原因分析:解决方案:第一种:修改后,只有当前生效,若是mysql服务重启,就会失效;

Vue中组件之间传值的六种方式(完整版)

《Vue中组件之间传值的六种方式(完整版)》组件是vue.js最强大的功能之一,而组件实例的作用域是相互独立的,这就意味着不同组件之间的数据无法相互引用,针对不同的使用场景,如何选择行之有效的通信方式... 目录前言方法一、props/$emit1.父组件向子组件传值2.子组件向父组件传值(通过事件形式)方