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

以下是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日

相关文章

  • HTML5 input新增type属性color颜色拾取器的实例代码

    以下是详细讲解HTML5 input新增type属性color颜色拾取器的实例代码的完整攻略。 HTML5 input新增type属性color HTML5新增的input type属性中,其中比较常用的一种是color颜色拾取器。使用color类型时,可以让用户方便地通过一个颜色选择面板来选择颜色代码,而无需手动输入。color类型的input输入框的外观…

    css 2023年6月9日
    00
  • 一款基于css3的列表toggle特效实例教程

    好的。下面是对“一款基于 CSS3 的列表 Toggle 特效实例教程”的完整攻略: 1. 什么是列表 Toggle 特效 列表 Toggle 特效是一种用户交互效果,可以用来展开或收起列表中的内容。当用户点击列表项时,相应的内容区域会显示或隐藏,触发视觉上的变化。 2. 基于 CSS3 的列表 Toggle 特效实现原理 列表 Toggle 特效的原理主要…

    css 2023年6月10日
    00
  • 基于JavaScript制作一个骰子游戏

    制作一个基于JavaScript的骰子游戏可以分为以下步骤: 步骤一:准备工作 需要在HTML文件中创建一个div标签用于显示骰子,以及一个按钮用于触发随机投掷骰子的事件。 <div id="dice"></div> <button id="roll">Roll the dice&l…

    css 2023年6月9日
    00
  • jquery给图片添加鼠标经过时的边框效果

    下面我将为您讲解如何使用jQuery给图片添加鼠标经过时的边框效果。 1. 引入jQuery库 在代码中使用jQuery库前,需要先引入该库。可以通过以下CDN链接引入: <script src="https://cdn.staticfile.org/jquery/3.6.0/jquery.min.js"></scrip…

    css 2023年6月10日
    00
  • 边框(border)边距(margin)和间隙(padding)属性的区别

    下面是关于边框、边距和间隙属性的完整攻略。 1. 边框(border) 边框是指围绕在HTML元素周围的线条或规定形状。它可以使用CSS属性border进行设置,其中包括属性border-width(设置边框宽度)、属性border-style(设置边框样式)和属性border-color(设置边框颜色)。边框可以用于装饰、区分或强调HTML元素。 下面是一…

    css 2023年6月9日
    00
  • rem布局原理解析

    Rem布局原理解析 在移动端页面开发中,由于设备尺寸的不同,为了适配不同分辨率的设备,我们需要用到不同的布局方法。其中,rem布局是一种比较实用的布局方案。通过本文,我们可以了解到什么是rem布局,以及如何使用rem布局。 什么是rem布局? rem,全称为“root em”,它是相对于根元素的font-size大小来进行设置元素尺寸的单位。rem布局的原理…

    css 2023年6月10日
    00
  • jQuery中内容过滤器简单用法示例

    下面是针对jQuery中内容过滤器的简单用法示例的完整攻略。 一、什么是jQuery中的内容过滤器? 在jQuery中,内容过滤器是一种用于在文档或元素的内容中选择某些特定元素的方法。内容过滤器是一种强大的选择器,可以根据指定的文本、属性值、子元素以及其他条件来选择元素。 二、内容过滤器的基本语法 基本的内容过滤器语法格式如下: $(selector).fi…

    css 2023年6月10日
    00
  • css 完美清除浮动的两种解决方案

    当一个元素实现浮动后,其父元素可能会失去高度,造成布局混乱,而清除浮动则是指清除浮动元素对父元素造成的影响,使其能正常显示。下面介绍两种常用的清除浮动方法。 方法一:使用空元素清除浮动 步骤一:给浮动元素的父元素添加clearfix类 <div class="parent clearfix"> <div class=&q…

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