在网页设计中我们发现越来越多的文本会放在图像之上,通常情况下,这不太好操作,因为图像具有动态颜色和光照,文本大部分是一种颜色。这通常对于可读性和可访问性的不太有利的,可能会让文本看起来不太清楚。

这意味着如果我们想要在图像和文本之间引入叠加层,那么有时这会使背景图像变暗以便于阅读。我们都需要一种简单的CSS技术来引入这种叠加。(推荐课程:css3视频教程)

由于我不想为修饰引入新标记,我们将使用CSS ::after伪元素。

我们可以通过以下过程来实现。

1、为你所需要的区域创建最简单的HTML

2、使用::before或::after元素创建背景图

3、使用z-index修改绝对定位导致的问题

4、可以尝试使用mix-blend-mode实现一些有趣的效果

第1步:你需要的是没有任何多余标记的背景图

在背景图中,我们真正想要的只是背景图作为容器以及背景图需要包含的任何内容。

Hello World

在这个例子中,我们只使用一个section容器和一个

。如果您添加了更多内容,它可能是同级元素,

或者您可以将所有内容放在某种内容容器中进行随意定位。

这里有一个小“魔法”,可以增加背景图的高度以及文本的中心位置。这对于本篇内容境界并不重要,但是如果你很好奇,可以自己试一试。

第2步:使用:: after动态添加叠加元素

CSS为我们提供的::before和::after元素有强大的功能,用于向不该影响标记的页面添加样式内容。

通过应用::before或::after元素,您可以在选定元素子元素之前或之后将动态元素插入DOM。

一个重要的注意事项是,所有伪元素都需要content显示CSS属性。虽然在我们的例子中,content只是一个空白字符串。.banner::after {

content: ""; // ::before and ::after both require content

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

background-image: linear-gradient(120deg, #eaee44, #33d0ff);

opacity: .7;}

现在我们有一个全宽和高的元素。为此,我们使用绝对定位,因为我们不希望影响文档的内容流。

我们利用opacity属性使叠加层略微透明。

在这个例子中,我选择了渐变的效果,但你可以使用简单的背景颜色甚至是另一个图像来叠加。

3、使用z-index修改绝对定位导致的问题

仔细观察就会注意到这个例子中的某些东西并不完全正确。我们的叠加不仅涵盖背景图像,还涵盖背景图中的文字。

通过使用绝对定位,我们实际上是将叠加层放在背景图的堆叠上下文之上。要解决此问题,叠加层和内容需要用z-index来修改。我通常给背景图叠加1和内容叠加100。.banner::after {

...

z-index: 1;

}

.banner > * {

z-index: 100;

}

有了它,我们有一个完成的叠加。

4、可以尝试使用mix-blend-mode实现一些其他的效果

比如向下面这样将多个元素混合在一起!.banner::after {

/* opacity: .7; */

mix-blend-mode: color;

mix-blend-mode: hue;

mix-blend-mode: hard-light;}

5、源码

HTML:

Hello World

CSS:.banner:after {

content: ""; // :before and :after both require content

position: absolute;

top: 0;

left: 0;

width: 100%;

height: 100%;

background-image: linear-gradient(120deg,#eaee44,#33d0ff);

background-color: #333;

opacity: .7;

// mix-blend-mode: color;

// mix-blend-mode: hard-light;

// mix-blend-mode: hue;

}

.banner > * {

z-index: 100;

}

.banner {

position: relative;

min-height: 60vh;

background-image: url(https://images.unsplash.com/photo-1509473332032-f1ce823d92c4?ixlib=rb-0.3.5&q=85&fm=jpg&crop=entropy&cs=srgb&ixid=eyJhcHBfaWQiOjE0NTg5fQ&s=3e2410208e8f8a78e4aa3550fddfbb44);

background-size: cover;

display: flex;

}

h1 {

margin: auto;

}

body {

margin: 10px;

}

php怎么加css和背景图,如何使用css中:after伪元素实现背景图片的叠加层?相关推荐

  1. html 背景图片比例,CSS实现响应式全屏背景图+用CSS3实现全屏按比例缩放背景图片...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 随着逐浪CMS新版的一些效果逐渐放出,有不少的朋友想全屏的背景图片如何设计. 在不同的时代有不同的流行网站显示形式,当前很流行的一种网页形式就是满屏大图, ...

  2. 背景图以拉伸方式(不重复)填充背景

    今天要解决一个用背景图以拉伸方式(不重复)填充背景的问题. 看了<用CSS把背景图片拉伸>和<css 如何让背景图片拉伸填充避免重复显示>后用background-repeat ...

  3. html背景图平移显示一次,制作网页如何使背景图片只出现一次(拉伸)?

    制作页面时,有时需要在表格内插入背景图,我们可以使用CSS进行控制,代码: style="background-image:url(./images/counter_bg.jpg);back ...

  4. CSS 中的伪元素是什么,有什么用处

    CSS 中的伪元素是一种特殊的元素,它们不是 HTML 元素,但通过 CSS 属性和关系运算符,我们可以为它们指定与实际 HTML 元素相同的样式.伪元素可以用于实现一些特殊的效果,比如动画.阴影.弹 ...

  5. 给HTML中的块元素设置背景图片

    css中关于块元素的背景有 background 属性. background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,background是一个复合属性 ...

  6. 背景图宽度自适应及背景图合并的CSS思想

    关于宽度自适应,已经是前段开发人员必备的css技能之一,而背景图的合并则属于更高级别的要求. 我们为什么要宽度自适应,原因大体有以下几点: 第一:很多情况下有这样的需求,比如做B/S前端,90%以上要 ...

  7. html 背景图自适应实例(css 利用position:absolute)

    之前因为这个背景放大缩小问题困扰几天,随后找了很多方资料才解决... 这次把他记录下来,事出仓促就直接放自己的代码了,效果图如下. 代码: <%@ page language="jav ...

  8. 完美的背景图全屏css代码 – background-size:cover?

    在写主题样式的时候经常会碰到用背景图铺满整个背景的需求,这里分享下使用方法 需要的效果 图片以背景的形式铺满整个屏幕,不留空白区域 保持图像的纵横比(图片不变形) 图片居中 不出现滚动条 多浏览器支持 ...

  9. background 互联网图片_完美的背景图全屏css代码 – background-size:cover?

    在写主题样式的时候经常会碰到用背景图铺满整个背景的需求,这里分享下使用方法 需要的效果 图片以背景的形式铺满整个屏幕,不留空白区域 保持图像的纵横比(图片不变形) 图片居中 不出现滚动条 多浏览器支持 ...

最新文章

  1. eslint 换行_javascript – 预期的换行符为“LF”,但在Eslint中使用gulp找到“CRLF”换行符...
  2. Python把matplotlib绘制的水平条形图(horizontal bar)转化为竖直的柱状图(vertical bar)实战
  3. ionic+angularjs开发hybrid App(环境配置+创建测试项目)
  4. 第九十六题(编写strcpy 函数)
  5. 巧妙设置yum软件库轻松解决软件包安装问题
  6. 金蝶移动bos开发教程_求助临沂金蝶k3,kis,eas软件各版本优势
  7. 码支付如何对接网站_做“刷脸支付”怎么推广?怎么办理刷脸支付POS机?
  8. RS485的常用电路设计
  9. 2.魔改xposed修改和重编译生产可用zip
  10. cmd批量修改文件名 增加文字_[Windows应用技巧][cmd篇][批量更改文件名]
  11. codewars python Regex validate PIN code
  12. 硬件电路设计之与非门触发器74HC30和74HCT20
  13. Unity3D使用talkingData应用数据统计
  14. strcmp, strcasecmp, memcmp
  15. android原生支持机型,首发机型Find 7:OPPO发布原生Android系统
  16. PC常见故障及解决思路汇总(网络方面)
  17. ETUDE HOUSE伊蒂之屋携手全新中国区品牌大使Justin黄明昊
  18. jQuery雪花插件JQuery-Snowfall Plugin
  19. vscode插件及配置
  20. 完美恢复Word文档,丢失、乱码和受损三大症状不再是难题

热门文章

  1. 讯飞能力平台语音识别ASR接口,AIUI接口问题
  2. 三相pwm整流器+三相逆变器级联+负载,无并网操作,可改并网 输入三相交流电源
  3. 英雄联盟云顶之弈知识图谱构建
  4. 以数据中心为核心的RFID资产管理解决方案-新导智能
  5. 记一次拯救者15isk拆机故障排查
  6. 那些年玩过的超级玛丽,竟然还隐藏了强化学习的这些原理
  7. 三分钟教会你汉诺塔图解
  8. 恶魔奶爸 A0 英文零基础的自我提升路
  9. 世界云计算机公司,2019年全球云计算企业排行榜TOP50(附榜单)
  10. 回顾下TCP/IP协议