CSS选择器

元素选择器

html {color:black;}
h1 {color:blue;}
h2 {color:silver;}

选择器分组

h2, p {color:gray;}
body, h2, p, table, th, td, pre, strong, em {color:gray;}

若去掉逗号则为后代选择器。

通配选择器

* {color:red;}

可与任何元素匹配。

类选择器

This heading is very important.

This paragraph is very important.

*.important {color:red;}

首先指定class值,然后结合通配选择器。

p.important {color:red;}

也可结合元素选择器。

多类选择器

.important.warning {background:silver;}

将会选择同时包含这些类名的元素。

ID选择器

This is a paragraph of introduction.

#intro {font-weight:bold;}

类选择器还是ID选择器?

  • 区别 1:只能在文档中使用一次
    与类不同,在一个 HTML 文档中,ID 选择器会使用一次,而且仅一次。

  • 区别 2:不能使用 ID 词列表
    不同于类选择器,ID 选择器不能结合使用,因为 ID 属性不允许有以空格分隔的词列表。

  • 区别 3:ID 能包含更多含义
    类似于类,可以独立于元素来选择 ID。有些情况下,您知道文档中会出现某个特定 ID 值,但是并不知道它会出现在哪个元素上,所以您想声明独立的 ID 选择器。例如,您可能知道在一个给定的文档中会有一个 ID 值为 mostImportant 的元素。您不知道这个最重要的东西是一个段落、一个短语、一个列表项还是一个小节标题。您只知道每个文档都会有这么一个最重要的内容,它可能在任何元素中,而且只能出现一个。在这种情况下,可以编写如下规则:
    #mostImportant {color:red; background:yellow;}
    这个规则会与以下各个元素匹配(这些元素不能在同一个文档中同时出现,因为它们都有相同的 ID 值):

This is important!

This is important!
    This is important!

属性选择器

只对有 href 属性的锚(a 元素)应用样式:

a[href] {color:red;}

后代选择器

如果您希望只对 h1 元素中的 em 元素应用样式,可以这样写

h1 em {color:red;}

上面这个规则会把作为 h1 元素后代的 em 元素的文本变为 红色。其他 em 文本(如段落或块引用中的 em)则不会被这个规则选中。
有关后代选择器有一个易被忽视的方面,即两个元素之间的层次间隔可以是无限的。

子元素选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。
如果您希望选择只作为 h1 元素子元素的 strong 元素,可以这样写:

h1 > strong {color:red;}

相邻兄弟选择器

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。
如果要增加紧接在 h1 元素后出现的段落的上边距,可以这样写:

h1 + p {margin-top:50px;}

用一个结合符只能选择两个相邻兄弟中的第二个元素

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