首页 > 其他 > 详细

2-23伪类和伪元素

时间:2019-04-24 00:15:10      阅读:157      评论:0      收藏:0      [点我收藏+]

1、伪类

①匹配所有<p> 元素中的第一个 <i> 元素

在下面的例子中,选择相匹配的所有<p>元素的第一个 <i> 元素

1 p > i:first-child
2 {
3     color:blue;
4 } 

提示:first-child 作用于 IE8 以及更早版本的浏览器, !DOCTYPE 必须已经定义.

②匹配所有作为第一个子元素的 <p> 元素中的所有 <i> 元素

在下面的例子中,选择器匹配所有作为元素的第一个子元素的 <p> 元素中的所有 <i> 元素

1 p:first-child i
2 {
3     color:blue;
4 } 

总结:①和②的区别,主要看first-child的位置,,控制在它前面的标签。

e.g:①first-child的前面是i,所以是对于所有控制的p元素的第一个i元素;

2、伪元素

first-line 伪元素

"first-line" 伪元素用于向文本的首行设置特殊样式。

注意:"first-line" 伪元素只能用于块级元素。

first-letter 伪元素

"first-letter" 伪元素用于向文本的首字母设置特殊样式

注意:"first-line" 伪元素只能用于块级元素。

多个伪元素

可以结合多个伪元素来使用。

在下面的例子中,段落的第一个字母将显示为红色,其字体大小为 xx-large。第一行中的其余文本将为蓝色,并以小型大写字母显示。

段落中的其余文本将以默认字体大小和颜色来显示:

 1 p:first-letter
 2 {
 3     color:#ff0000;
 4     font-size:xx-large;
 5 }
 6 p:first-line 
 7 {
 8     color:#0000ff;
 9     font-variant:small-caps;
10 }

CSS - :before 伪元素

":before" 伪元素可以在元素的内容前面插入新内容。

CSS - :after 伪元素

":after" 伪元素可以在元素的内容之后插入新内容。

总结:

伪类选择元素基于的是当前元素处于的状态,或者说元素当前所具有的特性,而不是元素的id、class、属性等静态的标志。由于状态是动态变化的,所以一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。由此可以看出,它的功能和class有些类似,但它是基于文档之外的抽象,所以叫伪类。

与伪类针对特殊状态的元素不同的是,伪元素是对元素中的特定内容进行操作,它所操作的层次比伪类更深了一层,也因此它的动态性比伪类要低得多。实际上,设计伪元素的目的就是去选取诸如元素内容第一个字(母)、第一行,选取某些内容前面或后面这种普通的选择器无法完成的工作。它控制的内容实际上和元素是相同的,但是它本身只是基于元素的抽象,并不存在于文档中,所以叫伪元素。

2-23伪类和伪元素

原文:https://www.cnblogs.com/yilyan/p/10759974.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!