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

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

maynowei5个月前 (10-14)技术知识74

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

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

对应的显示效果如下:

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

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

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

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

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

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

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

附上完整的CSS:

感谢阅读!

相关文章

Axure8.0教程:“百度一下,你就知道”搜索首页原型设计

加入人人都是产品经理【起点学院】产品经理实战训练营,BAT产品总监手把手带你学产品百度作为最大的中文搜索引擎,在某种程度上,有点学习google的简约至上的原则,但是给人的感觉还是不够彻底。今天,使用...

Android让视图折叠(安卓叠加视图设置)

Android UI Libs之ExpandableLayout1. 说明ExpandableLayout,顾名思义,可扩展的布局,是一个可以帮助我们实现折叠功能的第三方库,折叠时,只显示头部,打开时...

Linux系统编程—互斥量mutex(linux 互斥量)

##互斥量mutex前文提到,系统中如果存在资源共享,线程间存在竞争,并且没有合理的同步机制的话,会出现数据混乱的现象。为了实现同步机制,Linux中提供了多种方式,其中一种方式为互斥锁mutex(也...

C++ 原子操作与锁的深度解析:为什么原子操作并非万金油?

大噶好,我是henry,今天来和大家浅浅聊一下为啥C++原子操作并非万能钥匙,原因有三,且听我娓娓道来:一、原子操作的线程安全性C++11 的 std::atomic 确实为单个变量的线程安全操作提供...

Go语言进阶:时间轮(golang时间轮)

时间轮概念时间轮(Timing Wheel)是一种高效的定时任务调度数据结构,特别适合处理大量定时任务。它通过一个循环数组(轮盘)和多个槽位(buckets)来组织定时任务,每个槽位代表一个时间间隔。...

Qt QWaitCondition 的正确使用方法

简单用法QWaitCondition 用于多线程的同步,一个线程调用QWaitCondition::wait() 阻塞等待,直到另一个线程调用QWaitCondition::wake() 唤醒才继续往...