CSS3中的content属性使用示例


Posted in HTML / CSS onJuly 20, 2015

CSS中主要的伪元素有四个:before/after/first-letter/first-line,在before/after伪元素选择器中,有一个content属性,能够实现页面中的内容插入。
插入纯文字

content:"插入的文章",或者content:none不插入内容
html:

XML/HTML Code复制内容到剪贴板
  1. <h1>这是h1</h1>  
  2. <h2>这是h2</h2>  

css

CSS Code复制内容到剪贴板
  1. h1::after{   
  2.     content:"h1后插入内容"  
  3. }   
  4. h2::after{   
  5.     content:none  
  6. }  

运行结果:
https://jsfiddle.net/dwqs/Lmm1r08x/
嵌入文字符号

可以使用content属性的open-quote属性值和close-quote属性值在字符串两边添加诸如括号、单引号、双引号之类的嵌套文字符号。open-quote用于添加开始的文字符号,close-quote用于添加结束的文字符号。修改上述的css:

CSS Code复制内容到剪贴板
  1. h1{   
  2.     quotes:"(" ")";  /*利用元素的quotes属性指定文字符号*/  
  3. }   
  4. h1::before{   
  5.     content:open-quote;   
  6. }   
  7. h1::after{   
  8.     content:close-quote;   
  9. }   
  10. h2{   
  11.     quotes:"\"" "\"";  /*添加双引号要转义*/  
  12. }   
  13. h2::before{   
  14.     content:open-quote;   
  15. }   
  16. h2::after{   
  17.     content:close-quote;   
  18. }  

运行结果:
https://jsfiddle.net/dwqs/p8e3qvv4/
插入图片

content属性也可以直接在元素前/后插入图片
html:

XML/HTML Code复制内容到剪贴板
  1. <h3>这是h3</h3>  

css:

h3::after{
    content:url(http://ido321.qiniudn.com/wp-content/themes/yusi1.0/img/new.gif)
}

运行结果:
https://jsfiddle.net/dwqs/c6qk6pkv/
插入元素的属性值

content属性可以直接利用attr获取元素的属性,将其插入到对应位置。
html:

XML/HTML Code复制内容到剪贴板
  1. <a href="http:///www.ido321.com">这是链接  </a>  

css:

CSS Code复制内容到剪贴板
  1. a:after{   
  2.     content:attr(href);   
  3. }  

运行结果:
https://jsfiddle.net/dwqs/m220nzan/
插入项目编号

利用content的counter属性针对多个项目追加连续编号.
html:

XML/HTML Code复制内容到剪贴板
  1. <h1>大标题</h1>  
  2. <p>文字</p>  
  3. <h1>大标题</h1>  
  4. <p>文字</p>  
  5. <h1>大标题</h1>  
  6. <p>文字</p>  
  7. <h1>大标题</h1>  
  8. <p>文字</p>  

css:

CSS Code复制内容到剪贴板
  1. h1:before{   
  2.     content:counter(my)'.';   
  3. }   
  4. h1{   
  5.     countercounter-increment:my;   
  6. }  

运行结果:
https://jsfiddle.net/dwqs/2ueLg3uj/
项目编号修饰

默认插入的项目编号是数字型的,1,2,3.。。。自动递增,也能给项目编号追加文字和样式,依旧利用上面的html,css修改如下:

CSS Code复制内容到剪贴板
  1. h1:before{   
  2.     content:'第'counter(my)'章';   
  3.     color:red;   
  4.     font-size:42px;   
  5. }   
  6. h1{   
  7.     countercounter-increment:my;   
  8. }  

运行结果:
https://jsfiddle.net/dwqs/17hqznca/
指定编号种类

利用content(计数器名,编号种类)格式的语法指定编号种类,编号种类的参考可以依据ul的list-style-type属性值。利用上述的html,css修改如下:

CSS Code复制内容到剪贴板
  1. h1:before{   
  2.     content:counter(my,upper-alpha);   
  3.     color:red;   
  4.     font-size:42px;   
  5. }   
  6. h1{   
  7.     countercounter-increment:my;   
  8. }  

运行结果:
https://jsfiddle.net/dwqs/4nsrtxup/
编号嵌套

大编号中嵌套中编号,中编号中嵌套小编号。
html:

XML/HTML Code复制内容到剪贴板
  1. <h1>大标题</h1>  
  2. <p>文字1</p>  
  3. <p>文字2</p>  
  4. <p>文字3</p>  
  5. <h1>大标题</h1>  
  6. <p>文字1</p>  
  7. <p>文字2</p>  
  8. <p>文字3</p>  
  9. <h1>大标题</h1>  
  10. <p>文字1</p>  
  11. <p>文字2</p>  
  12. <p>文字3</p>  

css:

CSS Code复制内容到剪贴板
  1. h1::before{   
  2.     content:counter(h)'.';   
  3. }   
  4. h1{   
  5.     countercounter-increment:h;   
  6. }   
  7. p::before{   
  8.     content:counter(p)'.';   
  9.     margin-left:40px;   
  10. }   
  11. p{   
  12.     countercounter-increment:p;   
  13. }  

运行结果:
https://jsfiddle.net/dwqs/2k5qbz51/

在示例的输出中可以发现,p的编号是连续的。如果对于每一个h1后的三个p重新编号的话,可以使用counter-reset属性重置,修改上述h1的css:

CSS Code复制内容到剪贴板
  1. h1{   
  2.     countercounter-increment:h;   
  3.     countercounter-reset:p;   
  4. }  

这样,编号就重置了,看看结果:
https://jsfiddle.net/dwqs/hfutu4Lq/

还可以实现更复杂的嵌套,例如三层嵌套。
html:

XML/HTML Code复制内容到剪贴板
  1. <h1>大标题</h1>  
  2. <h2>中标题</h2>  
  3. <h3>小标题</h3>  
  4. <h3>小标题</h3>  
  5. <h2>中标题</h2>  
  6. <h3>小标题</h3>  
  7. <h3>小标题</h3>  
  8. <h1>大标题</h1>  
  9. <h2>中标题</h2>  
  10. <h3>小标题</h3>  
  11. <h3>小标题</h3>  
  12. <h2>中标题</h2>  
  13. <h3>小标题</h3>  
  14. <h3>小标题</h3>  

css:

CSS Code复制内容到剪贴板
  1. h1::before{   
  2.     content:counter(h1)'.';   
  3. }   
  4. h1{   
  5.     countercounter-increment:h1;   
  6.     countercounter-reset:h2;   
  7. }   
  8. h2::before{   
  9.     content:counter(h1) '-' counter(h2);   
  10. }   
  11. h2{   
  12.     countercounter-increment:h2;   
  13.     countercounter-reset:h3;   
  14.     margin-left:40px;   
  15. }   
  16. h3::before{   
  17.     content:counter(h1) '-' counter(h2) '-' counter(h3);   
  18. }   
  19. h3{   
  20.     countercounter-increment:h3;   
  21.     margin-left:80px;   
  22. }  

运行结果:
https://jsfiddle.net/dwqs/wuuckquy/

HTML / CSS 相关文章推荐
CSS3之边框多颜色Border-color属性使用示例
Oct 11 HTML / CSS
使用CSS3制作一个简单的进度条(demo)
May 23 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
HTML5新增的标签和属性归纳总结
May 02 HTML / CSS
HTML5 Canvas标签使用收录
Jul 07 HTML / CSS
IE9下html5初试小刀
Sep 21 HTML / CSS
HTML5通过调用canvas对象的getContext()方法来获取绘图环境
Jun 23 HTML / CSS
HTML5通用接口详解
Jun 12 HTML / CSS
html5中canvas图表实现柱状图的示例
Nov 13 HTML / CSS
移动端html5判断是否滚动到底部并且下拉加载
Nov 19 HTML / CSS
前端使用canvas生成盲水印的加密解密的实现
Dec 16 HTML / CSS
CSS3实现列表无限滚动/轮播效果
Jun 23 HTML / CSS
详解CSS3中border-image的使用
Jul 18 #HTML / CSS
CSS3中颜色线性渐变实战
Jul 18 #HTML / CSS
CSS3制作Dropdown下拉菜单的方法
Jul 18 #HTML / CSS
使用CSS3来绘制一个月食图案
Jul 18 #HTML / CSS
用CSS3绘制三角形的简单方法
Jul 17 #HTML / CSS
详解CSS3中Media Queries的相关使用
Jul 17 #HTML / CSS
CSS3中box-shadow的用法介绍
Jul 15 #HTML / CSS
You might like
德生S2000南麂列岛台湾FM收听记录
2021/03/02 无线电
缓存技术详谈―php
2006/12/14 PHP
php Notice: Undefined index 错误提示解决方法
2010/08/29 PHP
php中将数组转成字符串并保存到数据库中的函数代码
2013/09/29 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
php获取301跳转URL简单实例
2013/12/16 PHP
PHP常用处理静态操作类
2015/04/03 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
php获取当前url地址的方法小结
2017/01/10 PHP
Thinkphp5 微信公众号token验证不成功的原因及解决方法
2017/11/12 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
js event事件的传递与冒泡处理
2009/12/06 Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
2012/10/11 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
对js关键字命名的疑问介绍
2014/04/25 Javascript
jQuery中prevUntil()方法用法实例
2015/01/08 Javascript
JS实现的多张图片轮流播放幻灯片效果
2016/07/22 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
react-native之ART绘图方法详解
2017/08/08 Javascript
什么是Vue.js框架 为什么选择它?
2017/10/17 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
JavaScript函数apply()和call()用法与异同分析
2018/08/10 Javascript
使用JavaScript实现node.js中的path.join方法
2018/08/12 Javascript
JS获取并处理php数组的方法实例分析
2018/09/04 Javascript
mpvue项目中使用第三方UI组件库的方法
2018/09/30 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
微信小程序实现页面分享onShareAppMessage
2019/08/12 Javascript
python重试装饰器示例
2014/02/11 Python
Python实现将HTML转换成doc格式文件的方法示例
2017/11/20 Python
使用matplotlib画散点图的方法
2018/05/25 Python
Python循环中else,break和continue的用法实例详解
2019/07/11 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
HTML5中的Scoped属性使用实例
2014/04/23 HTML / CSS
工业自动化专业自荐信范文
2014/04/10 职场文书
会计专业2019暑假实习报告
2019/06/21 职场文书