css选择器

--- css选择器

优先级:!important > style行内选择器 1000 > id 100 > class 10 > tag 1 > 通配符

CSS选择器有哪些

  1. *通用选择器:选择所有元素,不参与计算优先级,兼容性IE6+
  2. X id选择器:选择id值为X的元素,兼容性:IE6+

  3. .X 类选择器: 选择class包含X的元素,兼容性:IE6+
  4. X Y后代选择器: 选择满足X选择器的后代节点中满足Y选择器的元素,兼容性:IE6+
  5. X 元素选择器: 选择标所有签为X的元素,兼容性:IE6+
  6. :link,:visited,:focus,:hover,:active: 选择特定状态的链接元素,顺序LoVe HAte,兼容性: IE4+
  7. X + Y直接兄弟选择器:在X之后第一个兄弟节点中选择满足Y选择器的元素,兼容性: IE7+
  8. X > Y子选择器: 选择X的子元素中满足Y选择器的元素,兼容性: IE7+
  9. X ~ Y兄弟: 选择X之后所有兄弟节点中满足Y选择器的元素,兼容性: IE7+
  10. [attr]:选择所有设置了attr属性的元素,兼容性IE7+
  11. [attr=value]:选择属性值刚好为value的元素
  12. [attr~=value]:选择属性值为空白符分隔,其中一个的值刚好是value的元素
  13. [attr|=value]:选择属性值刚好为value或者value-开头的元素
  14. [attr^=value]:选择属性值以value开头的元素
  15. [attr$=value]:选择属性值以value结尾的元素
  16. [attr=value]*:选择属性值中包含value的元素
  17. [:checked]:选择单选框,复选框,下拉框中选中状态下的元素,兼容性:IE9+
  18. X:after, X::after:after伪元素,选择元素虚拟子元素(元素的最后一个子元素),CSS3中::表示伪元素。兼容性:after为IE8+,::after为IE9+
  19. :not(selector):选择不符合selector的元素。不参与计算优先级,兼容性:IE9+
  20. ::first-letter:伪元素,选择块元素第一行的第一个字母,兼容性IE5.5+
  21. ::first-line:伪元素,选择块元素的第一行,兼容性IE5.5+
  22. :nth-child(an + b):伪类,选择前面有an + b - 1个兄弟节点的元素,其中n >= 0, 兼容性IE9+
  23. :nth-last-child(an + b):伪类,选择后面有an + b - 1个兄弟节点的元素 其中n >= 0,兼容性IE9+
  24. X:nth-of-type(an+b):伪类,X为选择器,解析得到元素标签,选择前面有an + b - 1个相同标签兄弟节点的元素。兼容性IE9+
  25. X:nth-last-of-type(an+b):伪类,X为选择器,解析得到元素标签,选择后面有an+b-1个相同标签兄弟节点的元素。兼容性IE9+
  26. X:first-child:伪类,选择满足X选择器的元素,且这个元素是其父节点的第一个子元素。兼容性IE7+
  27. X:last-child:伪类,选择满足X选择器的元素,且这个元素是其父节点的最后一个子元素。兼容性IE9+
  28. X:only-child:伪类,选择满足X选择器的元素,且这个元素是其父元素的唯一子元素。兼容性IE9+
  29. X:only-of-type:伪类,选择X选择的元素,解析得到元素标签,如果该元素没有相同类型的兄弟节点时选中它。兼容性IE9+
  30. X:first-of-type:伪类,选择X选择的元素,解析得到元素标签,如果该元素 是此此类型元素的第一个兄弟。选中它。兼容性IE9+

--- display: none;与visibility: hidden;的区别

联系:它们都能让元素不可见

  1. display:none;会让元素完全从渲染树中消失,渲染的时候不占据任何空间;visibility: hidden;不会让元素从渲染树消失,渲染师元素继续占据空间,只是内容不可见
  2. display: none;是非继承属性,子孙节点消失由于元素从渲染树消失造成,通过修改子孙节点属性无法显示;visibility: hidden;是继承属性,子孙节点消失由于继承了hidden,通过设置visibility: visible;可以让子孙节点显式
  3. 修改常规流中元素的display通常会造成文档重排。修改visibility属性只会造成本元素的重绘。
  4. 读屏器不会读取display: none;元素内容;会读取visibility: hidden;元素内容

你可能感兴趣的:(css选择器)