网页设计中经常要在背景图上放一些文字介绍,这就需要背景图片能有透明效果以便突出显示文字信息,经多方查阅,终于找到了2种有趣的方法。

1.在文字层添加rgba样式实现半透明效果

方法:

  • 背景图片层添加样式:background-size: cover;position: relative;
  • 在文字层添加样式 background:rgba(255,255,255,0.3) (白底透明,一般文字颜色用黑色系)或者 background:rgba(0,0,0,0.3) (黑底透明,一般文字颜色用白色系)

代码:

<style>.div-bg {background: url(https://www.hollowman.cn/usr/themes/hy/images/backgroundimages/pub_5.jpg) no-repeat;background-size: cover;position: relative;width: 500px;height: 200px;opacity:0.5;}.div-bg-white {background: rgba(255, 255, 255, 0.5);}.div-bg-dark {background: rgba(0, 0, 0, 0.5);}
</style><div class="div-bg"><div class="div-bg-white">在底层div添加样式 background:rgba(255,255,255,0.5) 效果(白底透明,一般文字颜色用黑色系)</div><br><div class="div-bg-dark" style="color:white">在底层div添加样式 background:rgba(0,0,0,0.5) 效果(黑底透明,一般文字颜色用白色系)</div>
</div>

效果:

说明:

为什么不在背景图片层上设置 opacity:0.5(不透明度)?因为使用 opacity 设置元素的透明度是一个整体的透明度,会作用于所有后代元素,当你设置 opacity:0.5 的时候,背景图、背景色、文字都会变成半透明属性,所以想实现字体不透明是不行的。
而如果直接在文字层设置 rgba(0,0,255,0.5),前三个属性是 RGB 颜色,最后一个属性表示的是透明度,用 rgba(0,0,255,0.5) 就可以实现背景透明字体不透明,rgba 不会影响内部的透明度。

2.利用滤镜实现半透明效果

方法:

  • 背景图片层添加样式:相对定位 position: relative;
  • 背景图片层利用伪元素,添加样式:绝对定位position: absolute;,滤镜不透明度 filter: opacity(50%);content: '';(空内容), z-index:-1(避免遮盖其他元素)。

代码:

<div class="filter-bg"><p>背景图片层利用伪元素样式实现透明</p>
</div>
<style>.filter-bg {width: 500px;height: 200px;/* 主层必须为相对定位,否则伪元素的图片将不符合预期 */position: relative;}.filter-bg:before {/* 下面4行代码确保背景图覆盖主层 */background: url(https://www.hollowman.cn/usr/themes/hy/images/backgroundimages/pub_5.jpg);background-size: cover;width: 100%;height: 100%;/* 插入空内容,必须要的样式 */content: '';/* 绝对定位,确保背景图起点在主层的0,0位置 */position: absolute;left: 0;top: 0;/*避免遮盖其他元素*/z-index: -1;/* 滤镜效果 */-webkit-filter: opacity(50%);filter: opacity(50%);}
</style>

效果:

说明:

这里利用伪元素,将滤镜设置的背景半透明度设置在伪元素上而不是主层上,因此其效果不会影响父元素上的文字。

关于滤镜 filter 还有更多其他的特效可以学习,下面是一些常用filter函数:

滤镜效果 函数 补充说明
none 默认值,表示没有效果
模糊 blur(px) 为图像设置高斯模糊,默认值为 0,单位为像素,值较大越模糊
调整亮度 brightness(number) number越大图像越亮,number不能取负值,可以是整数也可以是百分比
调整灰度 grayscale(%) 将图像转换为灰度图像,默认值为 0%,表示原始图像;100% 表示将图像完全变成灰度图像(即黑白图像),不允许为负值
调整对比度 contrast(%) 默认值为 100%,代表原始图像;0% 将使图像完全变黑;当值超过 100% 时图像将获得更高的对比度
阴影 drop-shadow(h-shadow v-shadow blur spread color) 为图像添加阴影效果,参数说明如下:
h-shadow: 必填值,指定水平方向阴影的像素值,若值为负,则阴影会出现在图像的左侧;
v-shadow: 必填值,指定垂直方向阴影的像素值,若值为负,则阴影会出现在图像的上方;
blur: 可选值,为阴影添加模糊效果,默认值为 0,单位为像素,值越大创建的模糊就越多(阴影会变得更大更亮),不允许使用负值;
spread: 可选值,默认值为 0,单位为像素。若值为正,则阴影将会扩展并增大;若值为负,则阴影会缩小;
color: 可选值,为阴影添加颜色,如未指定,则由浏览器来绝对,通常为黑色。
注意: Chrome、Safari 和 Opera 等浏览器不支持第 4 个参数,如果添加,则不会有任何效果
反转图像 invert(%) 默认值为 0%,表示原始图像;100% 则表示完全反转,不允许使用负值
不透明度 opacity(%) 默认值为 100%,表示原始图像;0% 表示完全透明,不允许使用负值
图像转为棕褐色 sepia(%) 默认值为 0%,表示原始图像;100% 表示图像完全变成棕褐色,不允许使用负值
调整饱和度 saturate(%) 默认值为 100%,表示原始图像;0% 表示图像完全不饱和,不允许使用负值
图像色相旋转 hue-rotate(deg) 该值用来定义色环的度数,默认值为 0deg,代表原始图像,最大值为 360deg

CSS实现背景图片透明文字不透明效果的两种方法相关推荐

  1. php背景图片透明度,css实现背景图片半透明内容不透明代码分享

    本文主要和大家介绍了纯css实现背景图片半透明内容不透明的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考,希望能帮助到大家. 最近做一个登陆界面的,突然想使用这种背景图片透明,而内容不透明的 ...

  2. 文字转语音文件的两种方法

    文件转语音文件的两种方法.小伙伴们在日常的工作.学习或是生活当中,是否遇到过以下这种情况.在工作中每天要阅读大量文件资料,在学习中每天要阅读各种课文,在生活中也会观看各种小说.但是长时间的用眼阅读,就 ...

  3. 用html将竖的图片打横,【收藏】让竖版图片变横版不变形的两种方法

    朋友们大家好,我在学员群里常常会讲到两个字:大忌. 每当说到这两个字的时候,所指的情况大多是某个朋友做的PPT里的某张图片,因为被强行拉伸而导致变形. 确实,在ppt或其他的什么设计图中,图片变形乃是 ...

  4. MATLAB 保存imshow绘制图片到指定文件夹中的两种方法

    MATLAB 保存imshow绘制图片到指定文件夹中的两种方法 imwrite函数 imwrite(image,filename) imwrite(image,filename)是将图像数据image ...

  5. html 图片透明字不透明,CSS实现背景图片透明,文字不透明效果的两种方法

    项目中经常会用到背景图上放一些文字介绍,这里介绍两种技术来实现背景图片透明,文字不透明效果,记录一下,方便日后学习. 1.毛玻璃效果:背景图 + 伪类 + flite:blur(3px) .demo1 ...

  6. css设置背景半透明,文字不透明效果

    设置背景半透明,文字不透明效果 一.常见的错误做法 最常见的做法就是: 1.设置元素的opacity,这种设置出来的效果就是内容与背景都是半透明的,严重影响视觉效果. 2.设置background-c ...

  7. CSS浮动+背景图片+边框+文字排版+段落设置

    一.CSS浮动 1.简介 默认的框是上下移动,CSS浮动可以控制浮动的框向左或者向右移动float属性属性值 说明 left 元素向左浮动 right 元素向右浮动 none 默认值,元素不浮动浮动意 ...

  8. 如何把图片转换成PDF格式?这两种方法不要错过

    怎么把图片转换成PDF文件格式呢?PDF文件一直以来都是我们传输文件的好帮手,它的显著效果不仅可以体现在文件上,也可以在图片中拥有良好的体验感.我们将图片转换成PDF格式来发送或者是打印,就不会出现排 ...

  9. 识别图片转文字怎么弄?推荐两种实用工具

    在日常的学习和工作中,经常会接收到大量的图片,当我们需要获取这些图片里面的文字内容时,光靠手动打字输入,不仅加大工作量,还很耗时.其实我们可以使用一些软件来识别图片的文字内容.那么问题来了,图片识别文 ...

最新文章

  1. MLIR中间表示和编译器框架
  2. java B2B2C 源码 多级分销springmvc mybatis多租户电子商城系统--配置中心服务化和高可用...
  3. 解决MySQL下把结果导出到文件权限不足问题
  4. 【python笔记】异常
  5. python 以行为单位进行字符串的切割
  6. jq中each的中断
  7. .NET单元测试(四):用例设计
  8. 【入坑树莓派】烧录系统都烧录了三次(树莓派默认账户密码错误/已删除)
  9. 免sdk实现微信/支付宝转账打赏功能
  10. ios 判断打开相机权限_iOS 获取用户是否有(相册/相机)权限
  11. C++输入一系列数字,以换行结束输入
  12. Table 组件构建过程中遇到的问题与解决思路
  13. Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载
  14. 腾云忆想构建云化IT生态,助力我国“双循环经济”数字化升级
  15. virtualbox导入ovf文件
  16. Mac 编译OpenSSL 静态库、动态链接库
  17. centos7 team 绑定
  18. 深入探究JVM(1) - Java的内存区域解析
  19. js encodeURI和encodeURIComponent
  20. 艾默生流量计测量密度时要注意什么

热门文章

  1. 基于PaddleNLP的中文对话文本匹配
  2. ubuntu18关不了机
  3. s7五杀大数据英雄_S7入围赛战报:首个五杀!LYN击败GMB
  4. 4:3 背景图片素材
  5. 如果可以随意 Emoji 组合,你能让两个表情包碰撞出什么花样?
  6. java使用CLE调用python37
  7. 下载多张图片并压缩成压缩包
  8. ConcurrentHashMap比其他并发集合的安全效率要高一些?
  9. 小米手机刷机鸿蒙,小米10升级鸿蒙系统刷机包
  10. OpenCV开发笔记(六十七):红胖子8分钟带你深入了解特征点暴力匹配(图文并茂+浅显易懂+程序源码)