全国服务热线400-0000000 企业热线0561-3023030

css-伪类和伪元素

bwinyazhou,bwin澳门必赢188,bwin备用网址,bwin必赢安全吗 www.989recom.cn

css-伪类和伪元素

无论是伪类还是伪元素,都属于CSS选择器的范畴。所以它们的定义可以在CSS标准的选择器章节找到。分别是 CSS2.1 Selectors 和 CSS Selector Level 3,两者都已经是推荐标准。 

一:伪类种类

css伪类用于向某些选择器添加特殊的效果

 

3qMZbe.jpg
 

 

二:伪元素种类

css伪元素用于将特殊的效果添加到某些选择器

 

eINria.jpg
 

 

三:伪类和伪元素的区别

伪类和伪元素本身就有一个根本的不同之处,这点直接体现在了标准的描述语句上。 
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。

伪元素:

先看一个伪元素 first-line 例子。现在有一段HTML,内容是一个段落: 

 <p>I am the bone of my sword. Steel is my body, and fire is my blood. 
 I have created over a thoustand blades. 
 Unknown to Death.Nor known to Life. Have withstood pain to create many weapon. 
 Yet, those hands will never hold anything. So as I pray, unlimited blade works.</p>

如果我要描述这个段落的第一行,在不用伪元素的情况下,我会怎么做?想来我一定要嵌套一层 span,然后加上类名: 

1 <p><span >I am the bone of my sword. Steel is my body, and fire is my blood. </span> 
2 I have created over a thoustand blades.
3 Unknown to Death.Nor known to Life. Have withstood pain to create many weapon. 
4 Yet, those hands will never hold anything. So as I pray, unlimited blade works.</p>

伪类:

再反观一个伪类 first-child 的例子,有一个简单的列表: 

1 <ul>
2 <li></li>
3 <li></li>
4 </ul>

如果我要描述 ul 的第一个元素,我无须嵌套新的元素,我只须给第一个已经存在的 li 添加一个类名就可以了: 

1 <ul>
2 <li ></li>
3 <li></li>
4 </ul>

尽 管,第一行和第一个元素,这两者的语意相似,但最后作用的效果却完全不同。

所以,伪类和伪元素的根本区别在于:它们是否创造了新的元素(抽象)。

从我们模 仿其意义的角度来看,如果需要添加新元素加以标识的,就是伪元素,反之,如果只需要在既有元素上添加类别的,就是伪类。

而这也是为什么,标准精确地使用 “create” 一词来解释伪元素,而使用 “classify” 一词来解释伪类的原因。

一个描述的是新创建出来的“幽灵”元素,另一个则是描述已经存在的符合“幽灵”类别的元素。 

伪类一开始单单只是用来表示一些元素的动态状态,典型的就是链接的各个状态(LVHA)。随后CSS2标准扩展了其概念范围,使其成为了所有逻辑上存在但在文档树中却无须标识的“幽灵”分类。 

伪元素则代表了某个元素的子元素,这个子元素虽然在逻辑上存在,但却并不实际存在于文档树中。

四:伪类和伪元素的混淆

CSS Selector Level 3 为了区分这两者的混淆,而特意用冒号加以区分: 

伪类用一个冒号表示 :first-child 

伪元素则使用两个冒号表示 ::first-line 

声明:文章"css-伪类和伪元素"为相王科技 Array原创文章,转载请注明出处,谢谢合作!

推荐阅读

大乐透杀号近20必赢网 | 必赢亚洲,必赢亚洲网址,官方网站 | 澳门百家樂必赢技巧 | 必赢娱乐手机app | 必赢bwin手机app | 必赢娱乐棋牌手机版 | 亚洲必赢bwin01官网 | bwin注册送79备用网址 | bwin网投网址 | bwin手机版下载 | bwin游戏注册 | bwin2288 | bwin必赢唯一官方网站 | 必赢亚洲,必赢亚洲网址,官方网站 | 亚洲必赢电子游戏网址 | bwin必赢娱乐登录 | 澳门赌场必赢方法 | 必赢棋牌游戏官方网站 | bwina.net备用网址 | bwin娱乐手机版 | bwingame唯棋牌游戏 | bwin必赢网必赢客官方网站 | bwin娱乐注册 | bwin手机版下载APP | 必赢体育搏彩游戏平台 | 亚洲必赢bwin696.com | 大乐透杀号必赢网 | bwin注册送79备用网址 | bwin5099亚洲必赢 | 多线老虎机游戏必赢方法 |