CSS实现背景图片透明而文字不透明效果的两种方法

yizhihongxing

以下是CSS实现背景图片透明而文字不透明效果的两种方法的完整攻略:

方法一:使用伪元素

首先,我们需要在HTML文件中指定背景图片和需要显示的文本。例如,在下面的代码中,我们选择使用一张名为bg.jpg的背景图片,并在页面中显示一行文字“Hello World!”:

<body>
  <div class="container">
    <p>Hello World!</p>
  </div>
</body>

然后,在CSS文件中添加以下代码,使用::before伪元素作为背景图片的容器,并使用opacity属性来控制背景图片的透明度:

.container {
  position: relative;
  z-index: 1;
}

.container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(bg.jpg) no-repeat center center;
  background-size: cover;
  opacity: 0.5;
  z-index: -1;
}

接下来,我们需要为文本设置一个高于伪元素所在图层的z-index属性值。这样,我们就可以实现背景图片透明,而文本不透明的效果:

p {
  position: relative;
  z-index: 2;
}

这样,我们就完成了使用伪元素实现背景图片透明而文字不透明效果的方法。

方法二:使用多重背景

使用多重背景可以让我们在同一个元素中嵌入多张背景图片,从而实现更加复杂的背景效果。这里,我们同样需要在HTML文件中指定背景图片和需要显示的文本:

<body>
  <div class="container">
    <p>Hello World!</p>
  </div>
</body>

然后,在CSS文件中添加以下代码,指定需要嵌入的背景图片,并使用rgba颜色值来控制背景图片的透明度:

.container {
  background-image:
    linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 1)),
    url(bg.jpg);
  background-size: auto, cover;
  background-repeat: no-repeat;
  background-position: center center;
}

这样,我们就可以实现背景图片透明,而文本不透明的效果。

其中,linear-gradient()函数用于指定需要嵌入的白色背景图片,并使用rgba颜色值指定透明度,以达到背景图片透明的效果;url()函数用于指定需要嵌入的背景图片,并使用cover值指定图片的尺寸适应方式。使用auto值让第一张背景图片的尺寸自适应元素的大小;使用center center值使背景图片在元素中水平和垂直居中。

最后,我们同样需要为文本设置一个高于背景图片所在图层的z-index属性值:

p {
  position: relative;
  z-index: 2;
}

这样,我们就完成了使用多重背景实现背景图片透明而文字不透明效果的方法。

示例1:伪元素实现

<body>
  <div class="container">
    <p>Hello World!</p>
  </div>
</body>
.container {
  position: relative;
  z-index: 1;
}

.container::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(https://picsum.photos/id/237/536/354) no-repeat center center;
  background-size: cover;
  opacity: 0.5;
  z-index: -1;
}

p {
  position: relative;
  z-index: 2;
}

示例2:多重背景实现

<body>
  <div class="container">
    <p>Hello World!</p>
  </div>
</body>
.container {
  background-image:
    linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 1)),
    url(https://picsum.photos/id/237/536/354);
  background-size: auto, cover;
  background-repeat: no-repeat;
  background-position: center center;
}

p {
  position: relative;
  z-index: 2;
}

希望以上内容对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CSS实现背景图片透明而文字不透明效果的两种方法 - Python技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • html/css基础篇——html代码编写过程中的几个警惕点(必看)

    下面是“html/css基础篇——html代码编写过程中的几个警惕点(必看)”的完整攻略: HTML代码编写过程中的几个警惕点 1. 缩进格式 在编写HTML代码时,我们需要按照一定的缩进格式来区分不同的标签和标签内的内容。这不仅有利于代码的阅读和修改,也可以提高代码的可维护性。 示例: <!DOCTYPE html> <html> …

    css 2023年6月9日
    00
  • 移动Web—CSS为Retina屏幕替换更高质量的图片

    在移动 Web 开发中,为 Retina 屏幕替换更高质量的图片是一项非常重要的技能。下面是一个完整的攻略,包含了如何为 Retina 屏幕替换更高质量的图片的过程和两个示例说明。 为 Retina 屏幕替换更高质量的图片的过程 1. 准备高清图片 首先,我们需要准备高清图片。我们可以使用 Photoshop 等工具将图片的分辨率提高到 2 倍,以适应 Re…

    css 2023年5月18日
    00
  • JS轮播图的实现方法

    实现 JavaScript 轮播图的方法有很多,下面将介绍其中一种常见的轮播图实现方法。 利用 HTML、CSS、JavaScript 实现轮播图 HTML 结构 轮播图的 HTML 结构需要两个主要的部分: 包含轮播图片的容器,比如 div,在这个容器内部有多个用于展示图片的 img 元素,这些 img 元素可以通过 CSS 的方式来控制排列。 突出显示当…

    css 2023年6月10日
    00
  • CSS实现带箭头的DIV(鼠标放上显示提示框)

    下面是CSS实现带箭头的DIV的完整攻略: 1. CSS绘制箭头 首先我们需要用CSS来绘制箭头,这里提供两种方法: 方法一:利用伪元素和边框实现 通过给DIV添加四个边框和一个伪元素,同时利用边框的特性,通过指定某一边的边框为透明,其他边框不透明,来绘制出箭头的效果。 示例代码如下: .arrow { position: relative; padding…

    css 2023年6月10日
    00
  • 在Layui中实现开关按钮的效果实例

    我们先来了解一下Layui是什么。 什么是Layui Layui(类库名字称呼为layui)是一个模块化前端UI框架,适合于大型复杂的Web应用程序。它是由一群热爱Web前端的朋友们所创建的,遵循“基于模块化组织,松耦合,高可维护”的设计原则。 既然了解了Layui,我们就可以通过Layui来实现开关按钮的效果了。 实现步骤 首先,我们需要先引入Layui的…

    css 2023年6月10日
    00
  • 详解CSS制作Web页面条纹背景样式的技巧

    CSS是网页开发不可或缺的重要技术,它能够为页面添加各种各样的样式和装饰。其中,为网页添加条纹背景样式是一项经常使用的技巧。下面,我将为大家详细讲解CSS制作Web页面条纹背景样式的技巧。 1.使用线性渐变实现条纹背景 使用CSS的linear-gradient属性,可以轻松地制作出条纹背景。其中,使用repeating-linear-gradient函数可…

    css 2023年6月9日
    00
  • CSS中背景的Linear Gradients(线性渐变)应用

    下面是关于CSS中背景的Linear Gradients(线性渐变)应用的完整攻略: 一、Linear Gradients的基本概念 线性渐变是CSS3的特性之一,用于控制元素的背景颜色,让颜色在元素背景上逐渐过渡,呈现出平滑的渐变效果。它基于渐变函数linear-gradient(),可以自定义颜色和方向。渐变函数的语法如下: background: li…

    css 2023年6月9日
    00
  • CSS3感应鼠标的背景闪烁和图片缩放动画效果

    首先,我们需要了解一下CSS3中的一些新的特性。CSS3中引入了众多新的特性,其中就包括了过渡(transition)、动画(animation)和变换(transform)这三个关键字,它们可以帮助我们实现各种各样的动画效果。 闪烁效果 首先,我们来实现一个背景色的闪烁效果。这个效果可以用以下代码实现: /* 定义动画,名称为 blink */ @keyf…

    css 2023年6月9日
    00
合作推广
合作推广
分享本页
返回顶部