css之选择器种类及其优先级总结

一.选择器的种类

1. 基本选择器

 #id   :根据给定的id匹配相应元素 

element   :标签选择器

.class   :类选择器 

*   :通配符选择器 

示例:

* {

  margin: 0;

 padding: 0;

}

#container * {

  border: 1px solid black;

}

兼容性:IE6+、Firefox、Chrome、Safari、Opera

select1,select2,select3 : 分组选择器 

2. 层级选择器

ancestor  descendant  :后代选择器(给定祖先元素下匹配所有的后代元素) 1

parent > child :子代选择器 (父元素下匹配所有的子元素) 2

prev + next :兄弟选择器(紧接在prev后面的next元素,next元素指的是下一个相邻同辈元素) 2

prev ~ next : 匹配prev元素之后的所有同辈元素 2

3. 属性选择器 

[attribute] :  [target] 选择带有 target 属性所有元素。 2

[attribute=value] :  [target=_blank] 选择 target="_blank" 的所有元素。 2

[attribute~=value]  : [title~=flower] 选择 title 属性包含单词 "flower" 的所有元素。 2

[attribute|=value]   :  [lang|=en]             选择 lang 属性值以 "en" 开头的所有元素。          2

[attribute^=value]  : a[src^="https"]        选择其 src 属性值以 "https" 开头的每个 元素。 3

[attribute$=value]   : a[src$=".pdf"]       选择其 src 属性以 ".pdf" 结尾的所有 元素。 3

[attribute*=value]   :a[src*="abc"] 选择其 src 属性中包含 "abc" 子串的每个 元素。 3

4. 基本过滤选择器

:link   : a:link 选择所有未被访问的链接。 

:visited   : a:visited 选择所有已被访问的链接。 

:active   : a:active 选择活动链接。 

:hover   : a:hover 选择鼠标指针位于其上的链接。 

:focus   : input:focus 选择获得焦点的 input 元素。 

:first-letter   : p:first-letter 选择每个 元素的首字母。 

:first-line   : p:first-line 选择每个 元素的首行。 

:before   : p:before 在每个元素的内容之前插入内容。 

:after  :  p:after 在每个元素的内容之后插入内容。

:lang(language)  :  p:lang(it) 选择带有以 "it" 开头的 lang 属性值的每个元素。

5. 子元素选择器

:first-child   : p:first-child 选择属于父元素的第一个子元素的每个

元素。 

:first-of-type  :  p:first-of-type 选择属于其父元素的首个

元素的每个

元素。 

:last-of-type  :  p:last-of-type 选择属于其父元素的最后

元素的每个

元素。 

:only-of-type :  p:only-of-type 选择属于其父元素唯一的

元素的每个

元素。 

:only-child  : p:only-child 选择属于其父元素的唯一子元素的每个

元素。 

:nth-child(n) :  p:nth-child(2) 选择属于其父元素的第二个子元素的每个

元素。 

6. 表单过滤选择器

:enabled :  input:enabled 选择每个启用的 元素。

:disabled :  input:disabled 选择每个禁用的 元素。

:checked  : input:checked 选择每个被选中的元素。

:not(selector)  :   :not(p) 选择非元素的每个元素。 

::selection   :   ::selection 选择被用户选取的元素部分。 

7. 

:root  :   :root 选择文档的根元素。 3

:empty  :   p:empty 选择没有子元素的每个 

元素(包括文本节点)。 3

:target  :   #news:target 选择当前活动的 #news 元素。 3

三、选择器的优先级

从高到低依次是:

1.在属性后面使用 !important会覆盖页面内任何位置定义的元素样式

2.作为style属性写在元素标签上的内联样式

3.id选择器

4.类选择器

5.伪类选择器

6.属性选择器

7.标签选择器

8.通配符选择器

9.浏览器自定义

你可能感兴趣的:(css之选择器种类及其优先级总结)