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教程:background-clip和background-origin
Oct 17 HTML / CSS
CSS3线性渐变简单实现以及该属性在浏览器中的不同
Dec 12 HTML / CSS
css3中新增的样式使用示例附效果图
Aug 19 HTML / CSS
纯css3实现效果超级炫的checkbox复选框和radio单选框
Sep 01 HTML / CSS
5分钟让你掌握css3阴影、倒影、渐变小技巧(小编推荐)
Aug 15 HTML / CSS
用CSS3实现无限循环的无缝滚动的实例代码
Jul 04 HTML / CSS
HTML5图片预览实例分享
Jun 04 HTML / CSS
HTML5中图片之间的缝隙完美解决方法
Jul 07 HTML / CSS
html5页面结构_动力节点Java学院整理
Jul 10 HTML / CSS
HTML5 textarea高度自适应的两种方案
Apr 08 HTML / CSS
简单介绍 http请求响应参数、无连接无状态、MIME、状态码、端口、telnet、curl
Mar 31 HTML / CSS
CSS3 制作精美的定价表
Apr 06 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
php下防止单引号,双引号在接受页面转义的设置方法
2008/09/25 PHP
php防止站外远程提交表单的方法
2014/10/20 PHP
浅析Yii2 gridview实现批量删除教程
2016/04/22 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
使用JQuery和s3captche实现一个水果名字的验证
2009/08/14 Javascript
javascript使用location.search的示例
2013/11/05 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
使用JavaScript的ActiveXObject对象检测应用程序是否安装的方法
2014/04/15 Javascript
JQuery对表格进行操作的常用技巧总结
2014/04/23 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
Javascript核心读书有感之表达式和运算符
2015/02/11 Javascript
IE6兼容透明背景图片及解决方案
2015/08/19 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
HTML5实现微信拍摄上传照片功能
2017/04/21 Javascript
js实现json数组分组合并操作示例
2019/02/12 Javascript
NodeJs之word文件生成与解析的实现代码
2019/04/01 NodeJs
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
vue悬浮可拖拽悬浮按钮的实例代码
2019/08/20 Javascript
layui点击弹框页面 表单请求的方法
2019/09/21 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
Python程序设计入门(3)数组的使用
2014/06/16 Python
python实现文件快照加密保护的方法
2015/06/30 Python
python 类之间的参数传递方式
2019/12/20 Python
python求前n个阶乘的和实例
2020/04/02 Python
Python 使用Opencv实现目标检测与识别的示例代码
2020/09/08 Python
Python 如何实现数据库表结构同步
2020/09/29 Python
html5实现九宫格抽奖可固定抽中某项奖品
2020/06/15 HTML / CSS
计算机网络毕业生自荐信
2013/10/01 职场文书
人力资源经理自我评价
2014/01/04 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
2015年小学辅导员工作总结
2015/05/27 职场文书
如何书写授权委托书?
2019/06/25 职场文书
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL