当前位置: 首页 > news >正文

css中content属性你了解多少?

在CSS中,content属性通常与伪元素(如 ::before::after)一起使用,用于在元素的内容之前或之后插入生成的内容。这个属性不接受常规的HTML内容,而是接受一些特定的值,如字符串、属性值、计数器值等。

以下是一些关于content属性的基本用法和示例:

经常用的的案例:


插入字符串

你可以使用content属性插入任何字符串。

p::before {content: "Before content: ";
}p::after {content: " After content.";
}

在这个例子中,每个<p>元素之前都会插入文本"Before content: “,之后都会插入文本” After content."。

插入属性值

你可以使用attr()函数来插入元素的属性值。

a::after {content: " (" attr(href) ")";
}

在这个例子中,每个<a>元素之后都会插入一个括号,括号内是该元素的href属性值。

插入计数器值

你可以使用CSS计数器(counters)与content属性一起,在伪元素中插入递增的数字。

body {counter-reset: section;
}h1::before {counter-increment: section;content: "Section " counter(section) ": ";
}

在这个例子中,每当<h1>元素出现时,计数器section就会递增,并在<h1>元素之前插入文本"Section X: ",其中X是计数器的当前值。

插入URL

虽然content属性不能直接插入URL作为链接,但你可以使用JavaScript或其他方法来实现这一点。不过,你可以在content中插入URL作为纯文本。

a::after {content: " (Visit " url(http://example.com) " for more information)";
}

但请注意,这里的url()函数在这里实际上是将URL作为字符串插入,而不是创建一个链接。浏览器会将整个内容视为普通文本。

插入前后引号

使用属性content:open-quote,和 content:close-quote属性可以在元素的最前边和最后边分别插入引号

	<p class="p-2">这里是一段话<span>用span分开可以插入单引号</span><span>是因为在设置 open-quote的时候没有设置 close-quote</span>,就直接有设置一个 open-quote</p><style>.p-2::before{content: open-quote;}.p-2 span::before{content: open-quote;}.p-2 span::after{content: close-quote;}.p-2 span::after{content: close-quote;}.p-2::after{content: close-quote;}</style>

上边的代码是当设置了open-quote的情况下如果不设置close-quote就进行再次open-quote的话会插入不同于上次的引号,然后在设置close-quote的时候是闭合前一个,然后再设置close-quote会闭合第一个。

注意事项:

  • content属性仅与伪元素(如::before::after)一起使用。
  • content属性不能用于替换元素的实际内容。它只能用于在元素的内容之前或之后插入额外的内容。
  • content属性的值通常是静态的,不会随着页面的动态变化而更新(除非使用JavaScript或其他脚本语言)。

最后附上案例:

  • 新使用方法案例:https://jsrun.net/fyDKp/
  • 旧的使用技巧:https://jsrun.net/9XDKp

相关文章:

  • 【Python Cookbook】S02E12 字符串的连接及合并 ‘ ‘.join()
  • 解决uniapp h5 本地代理实现跨域访问及如何配置开发环境
  • C语言笔记25 •顺序表介绍•
  • Ubuntu乌班图安装VIM文本编辑器工具
  • k8s解决java服务下载超时问题
  • lighttpd cgi不能重启
  • 【毕业设计】Django 校园二手交易平台(有源码+mysql数据)
  • 笔记-python map函数
  • 视频智能分析平台智能边缘分析一体机安防监控平台打手机检测算法工作原理介绍
  • 2024年旅游与经济发展国际会议(ICTED 2024)
  • 在WordPress上添加亚马逊联盟链接的三种方法
  • 网络安全筑基篇——SQL注入
  • 什么是粘性代理IP
  • Ubuntu 22.04.4 LTS openresty(Nginx) 通过Lua+Redis 实现动态封禁IP
  • 中介子方程二十八
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 03Go 类型总结
  • Android组件 - 收藏集 - 掘金
  • ECMAScript6(0):ES6简明参考手册
  • IIS 10 PHP CGI 设置 PHP_INI_SCAN_DIR
  • jquery ajax学习笔记
  • JWT究竟是什么呢?
  • Linux CTF 逆向入门
  • Mac转Windows的拯救指南
  • Next.js之基础概念(二)
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • Spring核心 Bean的高级装配
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 力扣(LeetCode)965
  • 使用 QuickBI 搭建酷炫可视化分析
  • -- 数据结构 顺序表 --Java
  • 通过git安装npm私有模块
  • 自定义函数
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • #宝哥教你#查看jquery绑定的事件函数
  • $.each()与$(selector).each()
  • (solr系列:一)使用tomcat部署solr服务
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (阿里云在线播放)基于SpringBoot+Vue前后端分离的在线教育平台项目
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (附源码)计算机毕业设计高校学生选课系统
  • (三十)Flask之wtforms库【剖析源码上篇】
  • (十七)、Mac 安装k8s
  • (万字长文)Spring的核心知识尽揽其中
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)C#调用WebService 基础
  • (转)大型网站架构演变和知识体系
  • (转)为C# Windows服务添加安装程序
  • **CentOS7安装Maven**
  • .form文件_SSM框架文件上传篇
  • .NET 指南:抽象化实现的基类
  • .NET/C#⾯试题汇总系列:⾯向对象