首先要明白一种思想:结构和样式分离。

结构和样式分离,就意味着:没有样式表,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"哈哈哈哈";
  colorred;
}

那么,用浏览器打开HTML文档,就会看见链接部分变成:

哈哈哈哈知道更多

其中:

哈哈哈哈

的字体是红色的,其它不变。

因为 a:before{} 这个选择器选择的是标签<a href="#">哈哈哈哈知道更多</a>中原来内容“知道更多”之前的我们加进去的部分“哈哈哈哈”。

这就证明:

  1. 加进去的内容是属于这个标签内的一部分,CSS样式当然也仅仅对这部分有效;

  2. 如果没有内容,那么样式表无效,因为CSS样式必须针对确实存在的内容。

    2.1 例如,如果

    a:before{

    content: "";   /*   没有内容  */

    color: red;

    }

    那么样式表无效,这就相当于:

    a:before{

    color: red;

    }

随机推荐

  1. JAVA的IO操作:内存操作流

    掌握内存操作流 输入和输出都是从文件中来的,当然,也可将输出的位置设置在内存上,这就需要ByteArrayInputStream和ByteArrayOutputStream ByteArrayInpu ...

  2. NodeJS在CentOs7下安装

    node下载地址:https://nodejs.org/en/download/ 1.安装gcc $ yum install gcc-c++ 2.解压最新版本 $ mkdir /usr/local/n ...

  3. CMD常用功能

    1.导出文件目录树状结构 命令:“tree>file.txt /f”

  4. 在php中修改cookie值遇到的奇怪问题

    本想修改cookie的值比较简单,结果测试发现并不是. 刚开始实现cookie修改的思路:先删除以前的cookie值,再创建一个新的. setcookie('name',value,time()-1) ...

  5. sublime text3 修改左边栏背景颜色为编辑栏颜色

    用Package Control安装Theme-Afterglow插件: Ctrl+Shift+P -> install ,如图 点击Install Package,在弹出框中输入Theme-A ...

  6. Xilinx下载方式(具体可以参考配置MCS文件时右下角help调出的doc)

    1.两者都属高速并行配置模式.SelectMAP是早期的FPGA两类配置模式之一,是相对于串行(Serial)配置而言的,与主串(Master Serial)和从串(Slave Serial)模式对应 ...

  7. python学习之sys.getsizeof()

    sys.getsizeof() >>> help(sys.getsizeof)Help on built-in function getsizeof in module sys: g ...

  8. NPOI读取操作excel

    .读取using (FileStream stream = new FileStream(@"c:\客户资料.xls", FileMode.Open, FileAccess.Rea ...

  9. c++ istream(ostream)是如何转换为bool的

    http://www.cplusplus.com/reference/ios/ios/operator_not/ http://stackoverflow.com/questions/8117566/ ...

  10. 基于AFNetworking的网络判断【原创】

    首先导入AFNetworking第三方框架,然后将下面的.h和.m放在你新建的类中便可 GGNetworkJudge.h   在最后会有Singleton.h头文件代码 #import <Fou ...