码迷,mamicode.com
首页 > Web开发 > 详细

CSS3常用选择器总结

时间:2016-08-08 06:25:06      阅读:184      评论:0      收藏:0      [点我收藏+]

标签:

CSS3选择器

中午吃饭时与同事简单聊了下H5C3为我们提供的便利,晚上下班后简单整理了下CSS3的选择器,在这里跟大家分享下。

CSS3新增了许多灵活查找元素的方法,极大的提高了我们查找元素的效率和精准度。CSS3选择器与jQuery中所提供的绝大部分选择器兼容。

1.属性选择器

其特点是通过属性来选择元素,具体有以下5种形式(Eelement的首字母,下面都是简写代替,程序员总是那么懒,哈哈哈)

1、E[attr] 表示存在attr属性即可;

 

        /*存在*/
        [class]{/*选中的是所有的div*/
            color: red;
        }

 

2、E[attr=val] 表示属性值完全等于val

 

        /*全等*/
        [class="abcd"]{/*选中的是div2*/
            color: red;
        }

 

3E[attr*=val] 表示的属性值里包含val字符并且在“任意”位置;

        /*包含(任意位置)*/
        [class*="abcd"]{
            color: red;
        }/*选中的是div2和div3,div4*/

 

4E[attr^=val] 表示的属性值里包含val字符并且在“开始”位置;

/*以什么开头*/
[class^="abcd"]{
color: red;
}/*选中的是div2和div3*/

5E[attr$=val] 表示的属性值里包含val字符并且在“结束”位置;

/*结尾*/
[class$="abcd"]{
color: red;
}/*选中的是div2和div4*/

 

<body>
    <div><a href="#" class="abc">div1</a></div>
    <div><a href="#" class="abcd">div2</a></div>
    <div><a href="#" class="abcdef">div3</a></div>
    <div><a href="#" class="aabcd">div4</a></div>
    <div><a href="#" class="abc">div5</a></div>
    <div><a href="#" class="abc">div6</a></div>
    <div><a href="#" class="abc">div7</a></div>
    <div><a href="#" class="abc">div8</a></div>
</body>

 

2.伪类选择器

除了以前学过的:link:active:visited:hover(我一般简称为LV,HA可以理解为,我今天买了个LV的包包,所以很开心,哈哈哈),CSS3又新增了其它的伪类选择器。

2.1、以某元素相对于其父元素或兄弟元素的位置来获取无素的结构伪类。

重点是要理解通过E来确定元素的父元素。

E:first-child第一个子元素

E:last-child最后一个子元素

E:nth-child(n) n个子元素,计算方法是E元素的全部兄弟元素;

E:nth-last-child(n) E:nth-child(n) 相似,只是倒着计算;

n遵循线性变化,其取值01234... 但是当n<=0时,选取无效。

n可是多种形式:nth-child(2n),表示选中偶数项,当然选中偶数项还可以写成nth-child(even)nth-child(2n+1)表示选中奇数项,当然选中奇数项还可以写成nth-child(odd)nth-last-child(-n+5)表示选中的是倒数第五个元素等;

E:empty 选中没有任何子节点的E元素;(使用不是非常广泛)

2.2、目标伪类

E:target 结合锚点进行使用,处于当前锚点的元素会被选中;

3.伪元素选择器

E::first-letter文本的第一个单词或字(如中文、日文、韩文等);

E::first-line 文本第一行;

注意:E::beforeE::after(比较常用,很方便)

是一个行内元素,需要转换成块元素

E:afterE:before 在旧版本里是伪类,在新版本里是伪元素,新版本下E:afterE:before会被自动识别为E::afterE::before,按伪元素来对待,这样做的目的是用来做兼容处理。

E::selection 可改变选中文本的样式(文本颜色,背景色等);

注意:":" "::" 区别在于区分伪类和伪元素

 

CSS3常用选择器总结

标签:

原文地址:http://www.cnblogs.com/h-jj/p/5747820.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!