关于:before :after
首先要明白一种思想:结构和样式分离。
结构和样式分离,就意味着:没有样式表,HTML文档也是一个完整的文档;没有样式表,也能正常阅读用HTML表达的所有内容。明白这种思想就能很好理解样式表中使用------ :before 和 :after中的content: ""; ------就算没有------:before 和 :after中的content: "";------HTML文档也不会受到影响,HTML文档也是一个完整的文档,所以,用简单的话来说: :before 和 :after中的content: "";不过是对HTML的装潢,使HTML看起来更漂亮一些。举个例子:
|
1
|
<a href="#">知道更多</a> |
以上这句语句,是一个链接,点击就能打开,就算没有任何CSS修饰,也不影响打开链接。但是,如果稍微修饰,这个链接就会看起来美观一些:
|
1
2
3
|
a:after { content: "\00A0\000BB";} |
加上CSS修饰后,链接看起来就美观一些。
既然选择器是::before 和 :after ,
那么选定的对象就是某个元素的前和后元素,样式当然也就是给选定元素的样式。
举例来说:
HTML文件中,有个链接:
|
1
|
<a href="#">知道更多</a> |
对<a />标签使用样式,就是:
|
1
2
3
4
|
a:before { content: "哈哈哈哈"; color: red;} |
那么,用浏览器打开HTML文档,就会看见链接部分变成:
哈哈哈哈知道更多
其中:
哈哈哈哈
的字体是红色的,其它不变。
因为 a:before{} 这个选择器选择的是标签<a href="#">哈哈哈哈知道更多</a>中原来内容“知道更多”之前的我们加进去的部分“哈哈哈哈”。
这就证明:
加进去的内容是属于这个标签内的一部分,CSS样式当然也仅仅对这部分有效;
如果没有内容,那么样式表无效,因为CSS样式必须针对确实存在的内容。
2.1 例如,如果
a:before{
content: ""; /* 没有内容 */
color: red;
}
那么样式表无效,这就相当于:
a:before{
color: red;
}
随机推荐
- jQuery 获取DOM节点的两种方式
jQuery中包裹后的DOM对象实际上是一个数组,要获得纯粹的DOM对象可以有两种方式: 1.使用数组索引方式访问,例如: var dom = $(dom)[0]; 如: $("#id&qu ...
- laravel框架查看执行过的sql语句
1.在routes.php中添加如下语句 Event::listen('illuminate.query', function($sql,$param) { file_put_contents ...
- Hive学习 系列博客
原 Hive作业优化 原 Hive学习六:HIVE日志分析(用户画像) 原 Hive学习五--日志案例分析 原 Hive学习三 原 Hive学习二 原 Hive学习一 博客来源,https://blo ...
- 基于FPGA实现的高速串行交换模块实现方法研究
基于FPGA实现的高速串行交换模块实现方法研究 https://wenku.baidu.com/view/9a3d501a227916888486d7ed.html
- win7安装RabbitMQ
1.下载并安装erlang http://www.erlang.org/downloads 2.下载并安装RabbitMQ http://www.rabbitmq.com/install-window ...
- Linux下同步模式、异步模式、阻塞调用、非阻塞调用总结
转自:http://www.360doc.com/content/13/0117/12/5073814_260691714.shtml 同步和异步:与消息的通知机制有关. 本质区别 现实例子 同步模式 ...
- 前端js文件添加版本号
客户端会缓存这些css或js文件,因此每次升级了js或css文件后,改变版本号,客户端浏览器就会重新下载新的js或css文件 ,刷性缓存的作用.大家可能有时候发现修改了样式或者js,刷新的时候不变,就 ...
- FreeBSD Try to set MAKE_JOBS_UNSAFE=yes and rebuild before
FreeBSD Try to set MAKE_JOBS_UNSAFE=yes and rebuild before,玛德,FreeBSD安装软件就是蛋疼~ mark In some ports th ...
- Java并发编程(十一)实例封闭
本节主题:如果一个类是线程不安全的,但是又要在多线程程序中安全地使用,你该怎么办? 大体有两种思路: 第一种:确保该对象是能由单个线程访问,也就是这个对象是被封闭在线程中的: 第二种:通过锁来对该对象 ...
- Yarn源码分析之MRAppMaster上MapReduce作业处理总流程(一)
我们知道,如果想要在Yarn上运行MapReduce作业,仅需实现一个ApplicationMaster组件即可,而MRAppMaster正是MapReduce在Yarn上ApplicationMas ...