CSS3新增选择器——伪元素选择器

定义

利用CSS创建新标签元素,这个新标签元素HTML文档结构不显示,但新标签元素又是一个行内元素,所以称为其伪元素。这一类元素选择器就称为伪元素选择器

作用

简化HTML结构。精简代码。

语法

element::before{ content: ''; }

content属性是必备属性。

代码练习

统一HTML结构

<div>和</div>

添加基础样式

div {
  width: 200px;
  height: 200px;
  background-color: antiquewhite;
}

添加'::before':在元素内部的前面插入内容

div::before {
  content: '::before';
}

添加'::after':在元素内部的后面插入内容

div::after {
  content: '::after';
}

用途

1.清除浮动样式

之前学习清除浮动样式有四种方式,分别是:

  • 额外标签法,又称隔墙法;
  • 给浮动子元素的父级元素添加overflow属性;
  • 父级元素添加after伪元素;
  • 父级元素添加双伪元素。

上两种方法在此不多赘述,主要分析后两种添加伪元素的方法。

父级元素添加after伪元素:

.clearfix:after {
  content:"";   /* 该属性是伪元素标签必备属性 */
  display: block;     /* 伪元素本身是行内元素,该属性是将伪元素标签转换为块级元素 */
  height: 0;    /* 该属性是为了不显示伪元素 */
  clear: both;  /* 该属性是清除浮动的本质代码 */
  visibility: hidden;    /* 该属性是为了不显示伪元素 */
}

父级元素添加双伪元素:

.clearfix:before,
.clearfix:after {
  content: "";    /* 该属性是伪元素标签必备属性 */
  display: table;    /* 该属性是为了使新创建的元素转换为块级元素且在一行显示 */
}
.clearfix:after {
  clear: both; 
}

2.字体图标的使用

HTML结构

<div></div>

添加基本样式

div {
  width: 200px;
  height: 35px;
  border: 1px solid black;
  position: relative;
}

在字体图标网站下载图标之后,引入默认字体图标样式并修改字体图标文件路径。

/* 引用字体图标样式 */
@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?j7zncs');
  src: url('../fonts/icomoon.eot');
  src:  url('../fonts/icomoon.eot?j7zncs#iefix') format('embedded-opentype'),
  url('../fonts/icomoon.ttf?j7zncs') format('truetype'),
  url('../fonts/icomoon.woff?j7zncs') format('woff'),
  url('../fonts/icomoon.svg?j7zncs#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

添加字体图标并设置其样式。

div::after {
  font-family: 'icomoon';
  /*  content: '';*/
  /* 需要将字体图标代码进行转义 */
  content: 'ea43';
  position: absolute;
  top: 8px;
  right: 5px;
  color: red;
}
THE END