css中伪元素before或after中content的特殊用法attr【转】
【原文】https://segmentfault.com/a/1190000002750033
CSS中主要的伪元素有四个:before/after/first-letter/first-line,在before/after伪元素选择器中,有一个content属性,能够实现页面中的内容插入。
插入纯文字
content:"插入的文章",或者content:none不插入内容
html:
<h1>这是h1</h1>
<h2>这是h2</h2>
css
h1::after{
    content:"h1后插入内容"
}
h2::after{
    content:none
}
运行结果:点击预览https://jsfiddle.net/dwqs/Lmm1r08x/点击预览
嵌入文字符号
可以使用content属性的open-quote属性值和close-quote属性值在字符串两边添加诸如括号、单引号、双引号之类的嵌套文字符号。open-quote用于添加开始的文字符号,close-quote用于添加结束的文字符号。修改上述的css:
h1{
    quotes:"(" ")";  /*利用元素的quotes属性指定文字符号*/
}
h1::before{
    content:open-quote;
}
h1::after{
    content:close-quote;
}
h2{
    quotes:"\"" "\"";  /*添加双引号要转义*/
}
h2::before{
    content:open-quote;
}
h2::after{
    content:close-quote;
}
运行结果:点击预览https://jsfiddle.net/dwqs/p8e3qvv4/点击预览
插入图片
content属性也可以直接在元素前/后插入图片
html:
<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:
<a href="http:///www.ido321.com">这是链接  </a>
css:
a:after{
    content:attr(href);
}
运行结果:点击预览https://jsfiddle.net/dwqs/m220nzan/点击预览
插入项目编号
利用content的counter属性针对多个项目追加连续编号.
html:
<h1>大标题</h1>
<p>文字</p>
<h1>大标题</h1>
<p>文字</p>
<h1>大标题</h1>
<p>文字</p>
<h1>大标题</h1>
<p>文字</p>
css:
h1:before{
    content:counter(my)'.';
}
h1{
    counter-increment:my;
}
运行结果:点击预览https://jsfiddle.net/dwqs/2ueLg3uj/点击预览
项目编号修饰
默认插入的项目编号是数字型的,1,2,3.。。。自动递增,也能给项目编号追加文字和样式,依旧利用上面的html,css修改如下:
h1:before{
    content:'第'counter(my)'章';
    color:red;
    font-size:42px;
}
h1{
    counter-increment:my;
}
运行结果:点击预览https://jsfiddle.net/dwqs/17hqznca/点击预览
指定编号种类
利用content(计数器名,编号种类)格式的语法指定编号种类,编号种类的参考可以依据ul的list-style-type属性值。利用上述的html,css修改如下:
h1:before{
    content:counter(my,upper-alpha);
    color:red;
    font-size:42px;
}
h1{
    counter-increment:my;
}
运行结果:点击预览https://jsfiddle.net/dwqs/4nsrtxup/点击预览
编号嵌套
大编号中嵌套中编号,中编号中嵌套小编号。
html:
<h1>大标题</h1>
<p>文字1</p>
<p>文字2</p>
<p>文字3</p>
<h1>大标题</h1>
<p>文字1</p>
<p>文字2</p>
<p>文字3</p>
<h1>大标题</h1>
<p>文字1</p>
<p>文字2</p>
<p>文字3</p>
css:
h1::before{
    content:counter(h)'.';
}
h1{
    counter-increment:h;
}
p::before{
    content:counter(p)'.';
    margin-left:40px;
}
p{
    counter-increment:p;
}
运行结果:点击预览https://jsfiddle.net/dwqs/2k5qbz51/点击预览
在示例的输出中可以发现,p的编号是连续的。如果对于每一个h1后的三个p重新编号的话,可以使用counter-reset属性重置,修改上述h1的css:
h1{
    counter-increment:h;
    counter-reset:p;
}
这样,编号就重置了,看看结果:点击预览https://jsfiddle.net/dwqs/hfutu4Lq/点击预览
还可以实现更复杂的嵌套,例如三层嵌套。
html:
<h1>大标题</h1>
<h2>中标题</h2>
<h3>小标题</h3>
<h3>小标题</h3>
<h2>中标题</h2>
<h3>小标题</h3>
<h3>小标题</h3>
<h1>大标题</h1>
<h2>中标题</h2>
<h3>小标题</h3>
<h3>小标题</h3>
<h2>中标题</h2>
<h3>小标题</h3>
<h3>小标题</h3>
css:
h1::before{
    content:counter(h1)'.';
}
h1{
    counter-increment:h1;
    counter-reset:h2;
}
h2::before{
    content:counter(h1) '-' counter(h2);
}
h2{
    counter-increment:h2;
    counter-reset:h3;
    margin-left:40px;
}
h3::before{
    content:counter(h1) '-' counter(h2) '-' counter(h3);
}
h3{
    counter-increment:h3;
    margin-left:80px;
}
运行结果:点击预览https://jsfiddle.net/dwqs/wuuckquy/点击预览
张大大有一篇利用counter实现计数的文章:小tip:CSS计数器+伪类实现数值动态计算与呈现
原文:http://www.ido321.com/1555.html
 												
											css中伪元素before或after中content的特殊用法attr【转】的更多相关文章
- css中伪元素before或after中content的特殊用法attr
		
html代码如下: <div class="haorooms"> <span data-haorooms="haorooms鼠标效果tips-纯css& ...
 - HTML和CSS设置动态导航以及CSS中伪元素的简单说明
		
HTML页面代码: <!DOCTYPE html> <html> <head> <title>Test</title> <meta c ...
 - 浅谈css的伪元素::after和::before
		
css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和::before仍不是特别了解,究竟他们是做什么的?如何 ...
 - CSS的伪元素(二)
		
随便聊聊CSS的伪元素,虽然它们在项目开发中用的并不多,但确实很有用,在项目中不用它,是因为大家不能了解它们,下面是一个工作场景,如有四个按钮,分别是建立,编辑,删除和修改,而我们要求这在前台显示的汉 ...
 - [CSS]利用伪元素实现一些特殊图形
		
给定的html代码是: <div class='square'></div> 平常实现我们常是通过添加小的icon来实现,不仅需要添加图片资源,还需要改动html结构. CSS ...
 - [CSS]利用伪元素实现一些特殊图形 from baidu校招
		
最近在博客园看到某人发的baidu校招题目,说是要用一行html代码实现下面的这个图形: 给定的html代码是: <div class='square'></div> ---- ...
 - 笑谈CSS的伪元素
		
今晚上我们来简单的聊一聊CSS的伪元素,多说无益,开聊 GG: 话说盘古开天辟地之时. QQ:嗨,咱今天还能讲的完吗?您给来点实际的啊. GG:要听实际的是吧,得嘞,那今天咱就来聊一聊CSS里的伪元素 ...
 - css的伪元素   ::after   ::before 和  图标字体的使用
		
浅谈css的伪元素::after和::before css中的::after和::before已经被大量地使用在我们日常开发中了,使用他们可以使我们的文档结构更加简洁.但是很多人对::after和 ...
 - HTML&CSS基础-伪元素选择器
		
HTML&CSS基础-伪元素选择器 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.html源代码 <!DOCTYPE html> <html> ...
 
随机推荐
- adb安装apk包提示protocol failure问题
			
截图来自CSDN,待验证
 - RabbitMQ消息积压的几种解决思路
			
在日常工作中使用RabbitMQ偶尔会遇不可预料的情况导致的消息积压,一般出现消息积压基本上分为几种情况: 消费者消费消息的速度赶不上生产速度,这总问题主要是业务逻辑没设计好消费者和生产者之间的平衡, ...
 - VirtualBox中安装的CentOS开启SSH并设置访问外网
			
1.全局设置NAT网络 打开VirtualBox->管理->全局设定 网络->添加按钮->添加一个NAT网络(使用默认的就行,不用改动) 2.设置用来本机于VirtualBox ...
 - 复习 | 重温jQuery和Zepto的API
			
jq和zepto很相似有许多共同的api,zepto也出了很多与jq不一样的api,总的来说,两者更相似,但是zepto更轻量一点,正好公司也在用,复习这两个没错 jq中的zepto的事件和ajax我 ...
 - 云计算openstack核心组件——nova计算服务(7)
			
一.nova介绍: Nova 是 OpenStack 最核心的服务,负责维护和管理云环境的计算资源.OpenStack 作为 IaaS 的云操作系统,虚拟机生命周期管理也就是通过 Nova ...
 - 人工智能顶级会议最佳论文里的“DaDianNao”是什么鬼?
			
最近对人工智能领域的 AI 加速芯片感兴趣,在翻阅 Google 的第一代 TPU 论文时,在相关工作中看到了 DaDianNao,PuDianNao,ShiDianNao.看的我一脸懵逼,这是什么? ...
 - 整合mybatis与spring
			
认识mybatis-spring MyBatis-Spring 需要以下版本: . 如果使用 Maven 作为构建工具,仅需要在 pom.xml 中加入以下代码即可: <dependency&g ...
 - OpenGLshader_uniform
 - JAVA并发编程--Condition
			
Condition主要是为了在J.U.C框架中提供和Java传统的监视器风格的wait,notify和notifyAll方法类似的功能. AQS等待队列与Condition队列是两个相互独立的队列 a ...
 - 本地保存cookie
			
原文https://blog.csdn.net/qq_29663071/article/details/73826642 https://www.cnblogs.com/webcome/p/54709 ...