Heim  >  Artikel  >  Web-Frontend  >  总结CSS3新特性(选择器篇)_html/css_WEB-ITnose

总结CSS3新特性(选择器篇)_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:41:041003Durchsuche

CSS3新增了嗯- -21个选择器,脚本通过控制台在这里运行;

~:

p ~ p {    color : red;/*此条规则将用于p后边所有的p...就是除了第一个p的所有p,规则同p:not(:nth-of-type(1)),但是权重要低于后者*/}

[attribute^=value]:

选择该属性以特定值开头的元素

[attribute$=value]:

选择该属性以特定值结尾的元素

[attribute*=value]:

选择该属性中出现了特定值的元素

上边三个是可以组合使用的,方法如 ↓ :

实际中可以应用在区分本地链接与外部链接,通过判断是否有http\.com什么的(等到CSS4选择器问世就不用这么麻烦了[:local-link])

:first-of-type与:last-of-type:

从字面大概能看出来是干嘛使得,第一个这个类型的/最后一个这个类型的...

如上图所示,每个元素内的第一个p与最后一个p都应用了该样式;

:only-of-type:

选择仅仅仅有一个此类型的子元素,不包含子元素的子元素;

可以利用:not来实现反选

:only-child:

选择仅有一个子元素的元素;

如果去掉:only-child前边的p,那个孤独的span也会应用该样式;

同样可以使用:not反选,

简单来说,就是有兄弟节点的p所应用该样式;

:nth-child(n):

选择第n个子元素,可以结合选择器来限制

结合变量n(应该说是关键字吧= =),可以用来在表格里,列表里做隔行换色什么的

:nth-last-child(n):

基本同上...只不过是从后往前数

:nth-of-type(n):

这个跟上边的让我很蛋疼- -这两者的区别一直让人很凌乱,详情看下图

通过w3school上边做的.

p:nth-child(2)将父元素中子元素第二个为p的p的颜色设为红色,

p:nth-of-type(2)将子元素中的第二个p背景色设为绿色- -好乱的;

我认为两者的却别在于,nth-of-type计数过滤标签类型,而nth-child计数不过滤;

:nth-last-of-type(n):

这个不做解释了...反之

:last-child:

选取父元素中最后一个子元素

注意tr后边伪类的位置,这就是一个空格的差距= =上边那个选择的是最后一个tr,而下边那个是选择的tr中的最后一个元素;

:root:

选择文档根节点- -相当于 html {},但是权重要比html高,因为人家是伪类,沾点类就比标签高- -;

:empty:

选择没有子元素的标签,额,这个一般没什么大用,因为文本节点也是节点,一般就是表格有空单元格,列表有空项,然后做点处理,用js选择空元素时这个挺有用的;

:target:

W3C给的解释是设置活动的id的样式,其实就是浏览器路径上边缀着#什么,就选着什么 传送阵;

:enabled与:disabled:

用于表单元素是否可用的伪类;

:enabled为可用,:disabled反之;

:checked:

用于多选及单选被选中的伪类;

:not:

这个就不多说了- -上边用了那么多了;

::selection:

被选中文本的样式;

 

总结:

CSS3选择器带来了极大的便利,上文有什么不对或不详细,还请指出.有点虎头蛇尾了,哈哈

部分参考链接:

http://www.w3school.com.cn/cssref/css_selectors.asp

再来几个CSS4前瞻的

http://www.admin10000.com/document/5900.html

http://www.webhek.com/css4-selectors/

http://www.iinterest.net/2011/10/09/css4-selectors-level-4/

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn