首页 > 代码库 > CSS3里的常用选择器总结

CSS3里的常用选择器总结

选择器

      属性选择器:  img[src="http://www.mamicode.com/images/2.jpg"]
              开头匹配:  a[href ^="page/"]
             结尾匹配:  a[href $="2.html"]
             任意匹配:  a[href *="2"]   只要这个属性中出现"2", 就匹配.
             分组匹配:  div[data-haha ~="box"]    data-haha 中有 "box" 这个属性, 就匹配.
            短横匹配:  div[data-haha |= "box"]   data-haha 中有 "box-" 开头的字符, 就匹配.
            有属性匹配:  div[alt]   div 有 alt 这个属性, 就匹配.
      以上选择器都兼容到 IE7, 并且不仅限于标签开头, 为了好区分就加上标签, 并且可连续使用:
            div[alt][src^="images"][src*="2"]  有alt属性, src 属性值开头为 images, src 中存在 "2",匹配.
JQ 也能使用这类选择器但不能有引号, 且兼容 IE6. 
 
--------------------------------------------------------------------------------------------------------
 
      序选择器:  
            p:only-child  这个元素为父级唯一的子级元素.
            p:first-child  若父级盒子第一个元素为p, 则作用, 而不是所有的 p 元素排队的第一个(IE7).
            p:last-child  若父级盒子最后一个元素为p, 则作用, 而不是所有的 p 元素排队的最后一个(IE9).
            JQ 中也能用, 且 $("p :first") 是所有 p 元素的第一个, 两种写法都 IE6.
            P:nth-child(n)  作用于所有盒子中的第 n 个 元素且为 p 元素(从1开始), 要选择偶数参数写 2n, 奇数 2n+1, 可自行调整(IE9).
            JQ 中, $("p:eq(2)") 选择所有第三个的p,吹哨. $("p:nth-child(3)") 不吹哨.
 
            p:first-of-type: 作用于父级盒子的第一个为 p 的元素(IE9).
            p:last-of-type: 作用于父级盒子的最后一个为 p 的元素(IE9).
            p:nth-of-type(n): 作用于父级盒子的正数第 n 个, 2n为偶数, 2n+1为奇数(IE9).
            p: nth-last-of-type(n): 作用于父级盒子的倒数第 n 个, 2n为偶数, 2n+1为奇数(IE9).
            JQ 也支持这类选择器, 兼容 IE6. 以上的 p 都可以换为基础选择器
 
--------------------------------------------------------------------------------------------------------
 
      节点选择器
            儿子选择器: div>p 选中 div 子级节点中的 p 元素(IE7).
            下一个兄弟选择器: h3+p 选中 h3 后面的为 P 的兄弟元素(IE7), $("div").nextSibling("p").fadeIn() 等价于 $("div+p").fadeIn(), 但操作机理完全不同.  
            后面所有兄弟: h4~p 选中 h4 后兄弟元素中所有的 P 元素(IE7). JQ 中 $("div").nextAll("p").fadeIn() 等价于 $("div~p").fadeIn(), 但操作机理完全不同.
 
--------------------------------------------------------------------------------------------------------
 
  以上写出的并不全, 在此抛砖引玉, 有误导之处还请不吝指点 ^^.

CSS3里的常用选择器总结