当前位置:首页 > 技术知识 > 正文内容

前端 - 如何通过CSS修改图片透明度

maynowei7个月前 (10-14)技术知识120

如果在图片上显示文字,经常会遇到这个情况,就是当文字和背景颜色差不多时,文字会看不清楚,我们一般通过给文字加text shadow或者修改图片的透明度来让文字显示更加突出。我们今天说一下透明度的问题,一般我们干这个活儿是通过photoshop来做,其实CSS本身也可以实现类似的效果。如何做?

咱们先从下面这个例子开始,有一张背景图片,上面有些文字:

对应的显示效果如下:

可以看到,文字显示不是特别清晰,现在要给图片增加一层控制透明度,我们使用伪元素实现:

可以看到,加入了一层,inset是top, bottom, left, right的简写形式,将它们都设为0。通过这个设置,显示效果如下:

现在它把所有元素都盖住了,而我们需要文字在这层的上面,如果加入z-index:-1, 则这个层又跑到所有元素下面,看不到了。

要解决这个问题,我们需要引入一个关键CSS,isolation: isolate; 通过它来创建一个新的CSS堆叠上下文,从而使得这个层不会跑到外面,具体关于isolation, 我专门写过一个文章,这里可以直接查看详细信息:使用isolation: isolate来创建堆叠上下文

可以看到,这个层现在位于文字和图片中间,如下所示:

那现在就简单了,可以更改opacity来控制其透明度,

最后将颜色改为黑色,就达到了我们所期望的效果。

附上完整的CSS:

感谢阅读!

相关文章

Axure原型:化妆镜商城Web高保真原型+线框图

之前给大家分享了化妆镜商城APP高保真原型,继续给大家补充该原型的Web版。也顺便分享一个化妆镜商城web版的线框图。关于线框图的绘制几乎都是经验的总结,开始时建议大家用铅笔白纸绘制,初版概念确定后再...

C# 中的多线程同步机制:lock、Monitor 和 Mutex 用法详解

在多线程编程中,线程同步是确保多个线程安全地访问共享资源的关键技术。C# 提供了几种常用的同步机制,其中 lock、Monitor 和 Mutex 是最常用的同步工具。本文将全面介绍这三种同步机制的用...

C++并发同步核心-mutex深度解析:守护共享数据的关键

在多线程编程中,当多个线程需要访问和修改共享数据时,如果没有任何同步机制,就可能发生数据竞争(Data Race),导致程序行为不可预测、数据损坏甚至崩溃。C++标准库通过<mutex>头...

Go 语言中的 RWMutex 源码解析、使用场景及应用分析

Go 语言标准库的 sync 包提供了一些非常重要的并发原语来帮助程序开发者处理并发任务。本文将详细解析 sync 包中的 RWMutex,即读写互斥锁(Reader/Writer Mutex),并结...

C++11 同步机制:互斥锁和条件变量

前段时间,我研究了 ROS2(Jazzy)机器人开发系统,并将官网中比较重要的教程和概念,按照自己的学习顺序翻译成了中文,进行了整理和记录。到目前为止,已经整理了20多篇文章。如果你想回顾之前的内容,...

Linux系统编程:条件变量为什么要用锁

条件变量可以解决线程同步和共享资源访问的问题,条件变量是对互斥锁的补充,它允许一个线程阻塞并等待另一个线程发送的信号,当收到信号时,阻塞的线程被唤醒并试图锁定与之相关的互斥锁。具体定义如下:等待:in...