zoukankan      html  css  js  c++  java
  • 总结CSS3新特性(选择器篇)

    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/

  • 相关阅读:
    JS高级知识部分【4】
    关于python3 使用pycharm+unittest+html+HTMLTestRunner 测试用例运行正常,但却不能生成测试报告的解决方法
    python生成HTMl报告(unittest)
    Linux系统下安装jenkins使用
    jenkins使用
    UI定位元素大全(跟App定位元素差不多哦)
    UI自动化前置代码
    python+selenium+pytest+html报告
    jenkins解决python不是内部命令
    如何做好APP功能测试?
  • 原文地址:https://www.cnblogs.com/jiasm/p/4648967.html
Copyright © 2011-2022 走看看