讲师中心 微信公众号
AI工具推荐 视频效率加速

CSS技巧:利用绝对定位和伪元素在文本下方添加装饰性图形

陌丽君_1578

陌丽君_1578

发布时间:2025-11-20 11:42:10

|

331人浏览过

|

来源于php中文网

原创

CSS技巧:利用绝对定位和伪元素在文本下方添加装饰性图形

本文将详细介绍如何在网页中实现文本下方装饰性图形的布局技巧。我们将探讨两种主要方法:一是通过绝对定位图片,二是通过css伪元素(如`::before`或`::after`)创建图形。重点讲解如何利用`position: relative`和`position: absolute`配合`z-index`属性,将图形精确放置在文本层级之下,并提供优化文本布局的建议,避免滥用`
`标签。

在现代网页设计中,为文本内容添加背景装饰性图形是一种常见的视觉增强手段,能够提升页面的美观度和层次感。本教程将指导您如何利用CSS实现将圆形、椭圆或其他形状的装饰性元素放置在文本下方,同时保持良好的结构和可维护性。

方法一:使用绝对定位图片

当您已有一个预先设计好的图片作为装饰元素时,可以通过CSS的绝对定位属性将其放置在文本下方。核心思想是为父容器设置相对定位,然后对子图片设置绝对定位,并调整其层级。

HTML 结构示例:

Html2md
Html2md

使用 Readability + Turndown 将 HTML 页面转换为干净的、Agent 友好的 Markdown。去除导航栏、广告、页脚、Cookie 横幅、社交按钮等干扰元素。支持 URL...

下载
<div class="firstContent">
  <img src="IMG ASSETS/Ellipse 6.png" alt="Decorative Ellipse" class="decorative-ellipse">
  <h3>Events</h3>
  <p>
    If we're gonna walk though the woods, we need a little path. We'll paint
    one happy little tree right here.
  </p>
</div>

CSS 样式示例:

立即学习“前端免费学习笔记(深入)”;

.firstContent {
  position: relative; /* 父容器设置为相对定位 */
  width: fit-content; /* 根据内容调整宽度 */
  margin-left: 100px; /* 示例边距 */
}

.decorative-ellipse {
  position: absolute; /* 图片设置为绝对定位 */
  top: -20px; /* 根据需要调整图片位置 */
  left: -20px;
  z-index: -1; /* 将图片置于文本下方 */
}

h3 {
  text-align: center;
  color: #45597e;
}

注意事项:

  • position: relative 赋予了父容器一个定位上下文,使其内部的绝对定位元素会相对于它进行定位。
  • position: absolute 使图片脱离文档流,可以精确地通过 top, right, bottom, left 属性进行定位。
  • z-index: -1 是关键,它将图片放在了默认层级(通常为0或更高)的文本内容之下。
  • 这种方法适用于复杂的图片,但对于简单的几何图形,可能会增加额外的HTTP请求。

方法二:利用CSS伪元素创建装饰性图形

对于简单的几何图形,如圆形、椭圆或矩形,使用CSS伪元素(::before 或 ::after)是更推荐的方法。这种方式无需额外的HTML标签,减少了HTTP请求,并且图形可以完全通过CSS控制,更易于调整和响应式设计。

核心原理:

  1. 为父容器设置 position: relative。
  2. 使用 ::before 或 ::after 创建一个伪元素。
  3. 为伪元素设置 content: ""(必须有,即使内容为空)。
  4. 将伪元素设置为 position: absolute,并赋予其宽度、高度、背景色、边框半径等样式来形成图形。
  5. 通过 top, left, right, bottom 精确定位。
  6. 设置 z-index: -1 将伪元素置于父容器内容之下。

HTML 结构示例:

<div class="firstContent">
  <h3>Events</h3>
  <p>
    If we're gonna walk though the woods, we need a little path. We'll paint
    one happy little tree right here. There's not a thing in the world wrong
    with washing your brush. Don't fiddle with it all day.
  </p>
</div>

CSS 样式示例:

立即学习“前端免费学习笔记(深入)”;

body {
  background-color: #f8e68b; /* 页面背景色,用于演示 */
}

.firstContent {
  width: fit-content; /* 根据内容调整宽度 */
  margin-left: 100px;
  position: relative; /* 父容器设置相对定位 */
}

h3 {
  text-align: center;
  color: #45597e;
}

/* 使用 ::before 伪元素创建椭圆 */
.firstContent::before {
  content: ""; /* 伪元素必须有 content 属性 */
  background-color: #ecd03e; /* 椭圆的背景色 */
  height: 150px; /* 椭圆的高度 */
  width: 160px; /* 椭圆的宽度 */
  border-radius: 50%; /* 设置为 50% 创建椭圆或圆形 */

  position: absolute; /* 伪元素设置为绝对定位 */
  top: -20px; /* 根据需要调整位置 */
  left: -20px;
  z-index: -1; /* 将伪元素置于文本下方 */
}

/* 优化段落文本布局,避免使用 <br> */
.firstContent p {
  max-width: 300px; /* 限制段落最大宽度,让文本自动换行 */
  line-height: 1.5; /* 增加行高,提升可读性 */
}

代码解析:

  • .firstContent 设置 position: relative;,为伪元素提供定位上下文。
  • .firstContent::before 创建了一个伪元素。
  • content: ""; 是伪元素声明的必需部分。
  • background-color, height, width, border-radius: 50%; 共同定义了一个黄色的椭圆。
  • position: absolute; 使椭圆可以精确定位。
  • top: -20px; left: -20px; 将椭圆稍微向上和向左偏移,以达到装饰效果。
  • z-index: -1; 确保椭圆位于 h3 和 p 标签内容的下方。

优化文本布局:避免使用

在原始问题中,文本内容使用了
标签来强制换行。虽然这在某些特定场景下有用(如地址),但在常规段落文本中,过度使用
标签是一种不推荐的做法。它会破坏文本的语义结构,并且在不同屏幕尺寸或字体大小下可能导致不自然的换行效果。

推荐做法: 通过为包含文本的元素(如

标签)设置 width 或 max-width 属性,让浏览器根据内容和容器大小自动进行换行。这不仅能提高文本的可读性和美观度,还能更好地适应响应式设计。

示例:

.firstContent p {
  max-width: 300px; /* 限制段落的最大宽度,文本将在此宽度内自动换行 */
  line-height: 1.6; /* 增加行高,提升可读性 */
  margin-top: 10px; /* 调整段落与上方元素的间距 */
}

总结与最佳实践

在网页设计中为文本添加装饰性图形时,请考虑以下最佳实践:

  1. 选择合适的方法:
    • 对于简单的几何形状(圆形、椭圆、矩形),优先使用 CSS伪元素。它减少了HTTP请求,提高了性能,并且更容易通过CSS进行样式控制和响应式调整。
    • 对于复杂的、需要特定图像纹理或细节的图形,可以考虑使用 绝对定位的 CSS技巧:利用绝对定位和伪元素在文本下方添加装饰性图形 标签。
  2. 理解定位上下文: 确保父容器设置 position: relative,以便其内部的绝对定位元素能够相对于它进行定位。
  3. 利用 z-index 控制层级: 使用 z-index: -1 是将装饰元素放置在文本下方的关键。
  4. 优化文本流: 避免在常规段落文本中使用
    标签进行强制换行。通过设置 width 或 max-width 属性,让文本自然流淌,以实现更好的响应性和可维护性。
  5. 语义化HTML: 保持HTML结构的语义化,将样式和内容分离,提高代码的可读性和可维护性。

掌握这些CSS技巧,您将能够更灵活、高效地为网页内容添加丰富的视觉效果。

热门AI工具

更多
DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

创客贴AI

创客贴AI是一款AI图像与设计工具,AI辅助的智能在线设计工具。

相关专题

更多
CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

352

2023.11.23

html边框设置教程
html边框设置教程

本教程将带你全面掌握HTML/CSS边框设置,从基础的border属性讲起,涵盖所有边框样式、圆角设置及高级技巧,帮助你快速上手实现各种边框效果。

2693

2025.09.02

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3643

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

894

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

6606

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

5470

2024.08.16

Go 语言 HTTP 编程与中间件开发教程合集
Go 语言 HTTP 编程与中间件开发教程合集

全面讲解 Go 语言 HTTP 编程的核心知识,涵盖 net/http 标准库的 Server/Handler/HandlerFunc 体系、DefaultServeMux 路由注册与自定义路由器、Request / ResponseWriter 请求响应处理、中间件(Middleware)链式设计模式与常见中间件(日志/CORS/认证/限流)开发、http.Client 的超时配置与连接池管理、Cookie / Session 处理、

541

2026.05.08

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

40

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.5万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 6.1万人学习

CSS教程
CSS教程

共754课时 | 98.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn