CSS 类、伪类和伪元素差别具体解释
2017-06-05 18:43
260 查看
CSS中的类(class)是为了方便过滤(即选择)元素,以给这类元素加入样式,class是定义在HTML文档树中的。
可是这在一些情况下是不够用的,比方用户的交互动作(悬停、激活等)会导致元素状态发生变化。class对这些动态变化无能为力。
为此,CSS引入了伪类(pseudo-class)的概念用来支持依据文档树以外的信息来过滤元素的能力。
伪类是一个抽象类,本质上还是一个类,因此其主要作用仍然是用来选择元素而后设定详细的样式。
伪类的定义使用:单冒号加上名称,如 mydiv:hover。
伪类的选择对象可能会随着用户操作文档而发生变化,比方当用户删除某些节点后,会影响子元素(nth-child)伪类的选择。
伪类选择元素的依据不是名称、属性或内容。而是依据特征(比方状态或顺序)。(:lang除外)
伪元素(pseudo-element)是另外一个概念。其设计意图和伪类一样,是为了能支持依据文档树以外的信息来进行格式化。
伪元素本质上是一个元素。仅仅是它一般须要依附在一个已有元素上,作为这个元素的“部分”或“补充”。比方::first-line或::after。
CSS2.1规范中引入的新的伪元素语法是双冒号::。但为了和历史版本号兼容,一些之前引入的伪元素仍然能够使用单冒号语法。
和伪类用来过滤元素不同,伪元素用来过滤内容或创建补充内容。在这些内容外包装一个虚拟的容器。然后应用特定的样式。
我们能够在伪元素上应用伪类。
这里有一个在线实例。能够非常直观的理解两者的使用方式:http://wow.techbrood.com/fiddle/15719
要了解很多其它伪类、伪元素的用途、实例和差别。
请參考阅读在线教程:http://techbrood.com/Guide/h5b2a?p=css-pseudo-elements
by iefreer
可是这在一些情况下是不够用的,比方用户的交互动作(悬停、激活等)会导致元素状态发生变化。class对这些动态变化无能为力。
为此,CSS引入了伪类(pseudo-class)的概念用来支持依据文档树以外的信息来过滤元素的能力。
伪类是一个抽象类,本质上还是一个类,因此其主要作用仍然是用来选择元素而后设定详细的样式。
伪类的定义使用:单冒号加上名称,如 mydiv:hover。
伪类的选择对象可能会随着用户操作文档而发生变化,比方当用户删除某些节点后,会影响子元素(nth-child)伪类的选择。
伪类选择元素的依据不是名称、属性或内容。而是依据特征(比方状态或顺序)。(:lang除外)
伪元素(pseudo-element)是另外一个概念。其设计意图和伪类一样,是为了能支持依据文档树以外的信息来进行格式化。
伪元素本质上是一个元素。仅仅是它一般须要依附在一个已有元素上,作为这个元素的“部分”或“补充”。比方::first-line或::after。
CSS2.1规范中引入的新的伪元素语法是双冒号::。但为了和历史版本号兼容,一些之前引入的伪元素仍然能够使用单冒号语法。
和伪类用来过滤元素不同,伪元素用来过滤内容或创建补充内容。在这些内容外包装一个虚拟的容器。然后应用特定的样式。
我们能够在伪元素上应用伪类。
这里有一个在线实例。能够非常直观的理解两者的使用方式:http://wow.techbrood.com/fiddle/15719
要了解很多其它伪类、伪元素的用途、实例和差别。
请參考阅读在线教程:http://techbrood.com/Guide/h5b2a?p=css-pseudo-elements
by iefreer
相关文章推荐
- CSS的伪类与伪元素
- 关于css中伪类及伪元素的总结
- DOM元素尺寸offsetWidth,scrollWidth,clientWidth等具体解释
- CSS中伪类和伪元素的区别
- CSS中 伪类和伪元素的用法 --实现元素前后添加[]框
- 所有CSS伪类/元素
- XML3_XML元素和节点的具体解释
- CSS 伪类与伪元素
- Css3之高级-1 Css复杂选择器(兄弟选择器 、属性选择器、伪类选择器、伪元素选择器)
- css父标签接受伪类,子元素动作~
- CSS伪类和伪元素的本质区别
- 解释下浏览器是如何判断元素是否匹配某个 CSS 选择器?
- css学习笔记20160128对齐组合选择符伪类伪元素
- 详解 CSS 属性 - 伪类和伪元素的区别
- 详解 CSS 属性 - 伪类和伪元素的区别
- CSS 属性 - 伪类和伪元素的区别
- 【笔记】css hover 伪类控制其他元素
- CSS伪类和伪元素
- CSS中伪类和伪元素的区别
- CSS中 伪类和伪元素的用法 --实现元素前后添加[]框