css选择器大全

css选择器大全

一、常用的选择器

  • 元素选择器

    作用:通过元素选择器可以选则页面中的所有指定元素
    语法:标签名 { }
    
  • id选择器

    作用:通过元素的id属性值选中唯一的一个元素
    语法:#id属性值 { }
    
  • 类选择器

    作用:通过元素的class属性值选中一组元素
    语法:.class属性值{ }
    
  • 并集选择器

    作用:通过选择器分组可以同时选中多个选择器对应的元素
    语法:选择器1,选择器2,选择器N{ }
    
  • 交集选择器

    作用:可以选中同时满足多个选择器的元素
    语法:选择器1选择器2选择器N{ }
    
  • 通配选择器

    作用:他可以用来选中页面中的所有的元素
    语法:*{ }
    

二、子元素和后代元素选择器

  • 元素之间的关系

    父元素:直接包含子元素的元素
    子元素:直接被父元素包含的元素
    祖先元素:直接或间接包含后代元素的元素,父元素也是祖先元素
    后代元素:直接或间接被祖先元素包含的元素,子元素也是后代元素
    兄弟元素:拥有相同父元素的元素叫做兄弟元素   
    
  • 后代元素选择器

    作用:选中指定元素的指定后代元素
    语法:祖先元素 后代元素{}  
    
  • 子元素选择器

    作用:选中指定父元素的指定子元素
    语法:父元素 > 子元素
    

三、伪类选择器

  • 概述

    伪类专门用来表示元素的一种的特殊的状态。
    比如:访问过的超链接,比如普通的超链接,比如获取焦点的文本框。
    当我们需要为处在这些特殊状态的元素设置样式时,就可以使用伪类。
    
  • 举例

      :link
      作用:表示普通的链接(没访问过的链接)
    
      :visited
      作用:表示访问过的链接
    
      :hover
      作用:表示鼠标移入的状态
    
      :active
      作用:表示的是超链接被点击的状态
    
      :focus
      作用:表示文本框获取焦点
    
    ps:  :hover和:active也可以为其他元素设置(ie6不支持)
    

四、伪元素选择器

  • 概述

    使用伪元素来表示元素中的一些特殊的位置
    
  • 举例

    p:first-letter
    作用:选择p中第一个字符
    
    p:first-line
    作用:选择p中的第一行
    
    :before
    作用:表示元素最前边的部分,  一般before都需要结合content这个样式一起使用,通过content可以向before或after的位置添加一些内容
    
    :after
    表示元素的最后边的部分
    

五、属性选择器

  • 概述

    可以根据元素中的属性或属性值来选取指定元素
    
  • 示例

    [属性名] 选取含有指定属性的元素
    [属性名="属性值"] 选取含有指定属性值的元素
    [属性名^="属性值"] 选取属性值以指定内容开头的元素
    [属性名$="属性值"] 选取属性值以指定内容结尾的元素
    [属性名*="属性值"] 选取属性值以包含指定内容的元素
    

六、子元素、兄弟元素选择器以及否定伪类

  • 子元素选择器举例

    :first-child 可以选中第一个子元素
    :last-child 可以选中最后一个子元素
    :nth-child(XXX) 可以选中任意位置的子元素,该选择器后边可以指定一个参数,指定要选中第几个子元素,even 表示偶数位置的子元素,odd 表示奇数位置的子元素。
    
    :first-of-type、:last-of-type、:nth-of-type
    和:first-child这些非常的类似,只不过child,是在所有的子元素中排列,而type,是在当前类型的子元素中排列
    
  • 兄弟选择器举例:

    前一个元素 + 后一个元素
    作用:可以选中一个元素后紧挨着的指定的兄弟元素
    
    前一个元素 ~ 后边所有元素
    作用:选中后边的所有兄弟元素
    
  • 否定伪类举例

    作用:可以从已选中的元素中剔除出某些元素
    

七、选择器的优先级别

  • 概述
    当使用不同的选择器,选中同一个元素时并且设置相同的样式时,这时样式之间产生了冲突,最终到底采用哪个选择器定义的样式,由选择器的优先级(权重)决定,优先级高的优先显示。

  • 规则

    内联样式 , 优先级  1000
    id选择器,  优先级   100
    类和伪类,  优先级   10
    元素选择器,优先级 1 
    通配* ,    优先级 0
    继承的样式,没有优先级
    
  • 其他情况:

    当选择器中包含多种选择器时,需要将多种选择器的优先级相加然后在比较,但是注意,选择器优先级计算不会超过他的最大的数量级,如果选择器的优先级一样,则使用靠后的样式。
    并集选择器的优先级是单独计算 div , p , #p1 , .hello{ }。
    可以在样式的最后,添加一个!important,则此时该样式将会获得一个最高的优先级,将会优先于所有的样式显示甚至超过内联样式,但是在开发中尽量避免使用!important。

猜你喜欢

转载自blog.csdn.net/king_cannon_fodder/article/details/81810623