CSS选择器及优先级

2017-03-27  本文已影响0人  xiaolizhenzhen

CSS选择器

语法: 元素名称{属性:属性值;...}

  span{  /* 选择所有的span标签*/
      padding:10px;
      background:cyan;
     }

语法: #id名{属性:属性值;...}

   #text{  /* 选择id="text"的标签*/
       width: 300px;
       height: 50px;
       line-height: 50px;
       margin: 15px 0px;
       text-align: center;
       background: hotpink;
   }

语法: .class名{属性:属性值;...}

   .box1{  /* 选择class="box1"的元素*/
       background: pink;
   }   

用于选择同时具有多个选择器匹配的元素

   div.box2{    /* 选择div并且class="box2"的元素*/
       background: yellow;
   }

语法: 选择器1,选择器2,选择器3{属性:属性值;...}

   h3,.list{  /* 选择h3以及class="list"的元素*/
       border: 1px solid blue;
   }

语法: 父标签 子标签{属性:属性值;...}

   .box p a{ /* 选择.box后代中包含p的并且p下面包含a的*/
       color:orange;
       font-weight: bold;
   }

语法: 父标签>子标签{属性:属性值;...}

   .box>p>a{ /* 选择.box直级孩子为p并且p直级孩子是a的*/
       color:green;
   }

子代选择器与后代选择器的区别

语法:
E[attr] //用于选取带有指定属性的元素
E[attr = value]//用于选取带有指定属性值的元素
E[attr ~= value]//用于选取属性值中包含指定词汇的元素
E[attr |= value]//用于选取带有指定值value-开头的或者值为value的元素
E[attr ^= value] //用于选取属性值以value开头的元素
E[attr $= value] //用于选取属性值以value结尾的元素
E[attr *= value] //用于选取属性值中包含value的元素

css3中属性选择器的使用

  • E:hover选择器被用来指定当鼠标指针移动到元素上时元素所使用的样式
  • E:active选择器被用来指定元素被激活时使用的样式
  • E:focus选择器被用来指定元素获得光标聚焦点使用的样式,主要是在文本框控件获得聚焦点并进行文字输入时使用。
  • E:enabled选择器被用来指定当元素处于可用状态时的样式。
  • E:disabled选择器被用来指定当元素处于不可用状态时的样式。
  • E:read-only选择器被用来指定当元素处于只读状态时的样式。
  • E:read-write选择器被用来指定当元素处于非只读状态时的样式。
  • E:cehcked伪类选择器用来指定当表单中的radio单选框或者是checkbox复选框处于选取状态时的样式。
  • E:default选择器用来指定当页面打开时默认处于选取状态的单选框或复选框的控件的样式。
  • E:indeterminate选择器用来指定当页面打开时,一组单选框中没有任何一个单选框被设定为选中状态时,整组单选框的样式。
  • E:selection伪类选择器用来指定当元素处于选中状态时的样式。
  • E:invalid伪类选择器用来指定,当元素内容不能通过HTML5通过使用的元素的诸如requirde等属性所指定的检查或元素内容不符合元素规定的格式时的样式。
  • E:valid伪类选择器用来指定,当元素内容能通过HTML5通过使用的元素的诸如requirde等属性所指定的检查或元素内容符合元素规定的格式时的样式。
  • E:required伪类选择器用来指定允许使用required属性,而且已经指定了required属性的input元素、select元素以及textarea元素的样式。
  • E:optional伪类选择器用来指定允许使用required属性,而且未指定了required属性的input元素、select元素以及textarea元素的样式。
  • E:in-range伪类选择器用来指定当元素的有效值被限定在一段范围之内,且实际的输入值在该范围之内时的样式。
  • E:out-of-range伪类选择器用来指定当元素的有效值被限定在一段范围之内,但实际输入值在超过时使用的样式。

css3之UI元素状态伪类选择器

CSS选择器优先级

CSS优先级:是由四个级别和各级别的出现次数决定的。
四个级别分别为:行内选择符、ID选择符、类别选择符、元素选择符。

优先级的算法:
  每个规则对应一个初始"四位数":0、0、0、0
  若是 行内选择符,则加1、0、0、0
  若是 ID选择符,则加0、1、0、0
  若是 类选择符/属性选择符/伪类选择符,则分别加0、0、1、0
  若是 元素选择符/伪元素选择符,则分别加0、0、0、1
  算法:将每条规则中,选择符对应的数相加后得到的四位数,从左到右进行比较,大的优先级越高。

需注意的:
  ①、!important的优先级是最高的,但出现冲突时则需比较四位数;
  ②、优先级相同时,则采用就近原则,选择最后出现的样式;
  ③、继承得来的属性,其优先级最低;
  
!important > 行内样式>ID选择器 > 类选择器 > 标签 > 通配符 > 继承 > 浏览器默认属性

css选择器使用强烈建议采用低权重原则,利于充分发挥css的继承性,复用性,模块化、组件化。
 
  CSS 选择器权重计算规则
  CSS优先级及important属性

上一篇 下一篇

猜你喜欢

热点阅读