CSS元素选择器
最常见的CSS 选择器就是元素选择器 换句话说 文档的元素就是最基本的选择器
如果设置HTML样式 选择器通常就是某个HTML元素 比如p h1 em a 甚至可以是HTML本身
html {color:black;}
h1 {color:blue;}
h2 {color:silver;}
可以将某一个样式从一个元素切换到另一个元素。
假设您决定将上面的段落文本(而不是h1元素)设置成灰色 只需要把h1改成p
html {color:black;}
p {color:gray;}
h2 {color:silver;}
元素选择器又称为类型选择器。
选择器分组
假设你希望h2元素和段落都有灰色 为达到这个目的 最容易的做法是使用以下声明:
h1,p {
color: gray;
}
将h2和p选择器放在规则左边 然后用逗号分开 就定义了一个规则。其右边的样式(color:gray;)将应用到这两个选择器的元素中。逗号是告诉浏览器 规则中包含多个选择器,如果没有这个逗号 意义将完全不同 后面的章节将会介绍。
可以将任意多个选择器分组在一起 对此没有任何限制。
例如:如果 你想将很多元素显示为灰色 可以使用类似如下的规则。
body, h2, p, table, th, td, pre, strong, em {color:gray;}
提示 通过分组 创作者可以将某些类型的样式压缩在一起 这样就可以更简洁高效。
以下的两组规则能得到同样的效果 可以看出分组选择器在这种情况下 很简洁 容易
/* no grouping */
h1 {color:blue;}
h2 {color:blue;}
h3 {color:blue;}
h4 {color:blue;}
h5 {color:blue;}
h6 {color:blue;}
/* grouping */
h1, h2, h3, h4, h5, h6 {color:blue;}
通配符选择器
CSS2 引入了一种新的简单选择器 - 通配选择器(universal selector),显示为一个星号(*)。该选择器可以与任何元素匹配,就像是一个通配符。
例如,下面的规则可以使文档中的每个元素都为红色:
* {color:red;}
这个声明等价于列出了文档中所有元素的一个分组选择器。利用通配选择器,只需敲一次键(仅一个星号)就能使文档中所有元素的 color 属性值指定为 red。
声明分组
我们既可以对选择器进行分组,也可以对声明分组。
假设您希望所有 h1 元素都有红色背景,并使用 28 像素高的 Verdana 字体显示为蓝色文本,可以写以下样式:
h1 {font: 28px Verdana;}
h1 {color: blue;}
h1 {background: red;}
但是上面这种做法的效率并不高。尤其是当我们为一个有多个样式的元素创建这样一个列表时会很麻烦。相反,我们可以将声明分组在一起:
h1 {font: 28px Verdana; color: white; background: black;}
这与前面的 3 行样式表的效果完全相同。
注意,对声明分组,一定要在各个声明的最后使用分号,这很重要。浏览器会忽略样式表中的空白符。只要加了分号,就可以毫无顾忌地采用以下格式建立样式:
h1 {
font: 28px Verdana;
color: blue;
background: red;
}
结合选择器和声明的分组
我们可以在一个规则中结合选择器分组和声明分组,就可以使用很少的语句定义相对复杂的样式。
下面的规则为所有标题指定了一种复杂的样式:
h1, h2, h3, h4, h5, h6 {
color:gray;
background: white;
padding: 10px;
border: 1px solid black;
font-family: Verdana;
}