文章教程

11.3CSS选择器

8/31/2020 9:52:39 PM 人评论 次浏览

11.3 CSS选择器

CSS选择器用于指定样式规则所应用元素的名称,由一个或多个元素名或特定的标识构成,紧跟其后面的是用花括号“{}”括起来的若干个属性名与相应的属性值对,用来对选择器所指定的元素设置具体的显示样式。浏览器在碰到这些元素时,就使用定义好的样式来显示它们。花括号中每一个属性名与相应的属性值之间必须用冒号“:”分隔。

例如,下面规则中的CONTENT就是选择器。

alt

上面的代码将文档中的CONTENT元素的显示格式设置为:在块中单独显示一行;文字的大小为16磅;文字为粗体。

CSS中的每一条格式设置语句都是由选择器开始的,选择器可以有如下多种不同的形式。

1.一个或多个元素(Tag)选择器

选择器除了可以为某一个元素设置显示的格式,也可以为多个不同的元素设置显示的格式,只需将这些元素的名称包含在选择器中,并以逗号来分隔每一个元素的名称。例如,下面的格式设置语句同时应用于ID、TITLE、CONTENT和TYPE多个不同的元素:

alt

本例将多种元素全部包含在单一的规则中进行设置,而是将它们分散在不同的规则中设置,可以让CSS样式表变得更短,并且更容易理解和维护。当然,也可以为同一个元素分别设置多个规则。例如,下面的几个规则都是为CONTENT元素设置的:

alt

2.类(Class)选择器

不管是HTML还是XML文档,有些内容是可以分类处理的,相应的,对于某一类的内容可以定义不同的样式进行显示。这样就可以在相应的CSS文件中对相同名称不同Class属性元素分别设定不同的规则,从而增加样式设置的灵活性。例如,有一个段落是粗体的,而另一个段落则为正常的字体,可以把Class属性加到两个元素或其中一个元素上,然后为给定的Class中的元素编写一个规则。

类选择器的定义方法有两种:

(1)与元素不相关的类选择器的定义方法:

alt

这种类选择器定义时在Class的名称前面加了一个“.”。

(2)与元素相关的类选择器的定义方法:

alt

这种类选择器是在定义时使用Tag.Class的方式表示该Class是与元素相关的选择器,后面的定义和Class选择器相同。

例如,以下使用类选择器的代码:

alt

上面的代码中第1行定义HTML标记的类选择器,这种情况将只定义标记p的样式,而第2行代码则具有通用性,可用于任何标记的样式定义。

类的名称可以是任意英文单词或以英文开头与数字的组合,但类的命名最好能够说明类功能。

3.标识(ID)选择器

在HTML或XML文档中,往往需要唯一地标识一个元素,即赋予它一个ID标识,以便在对整个文档进行处理时能够较快地找到这个元素。CSS也可以将ID标识作为选择器进行样式设定。例如,要将某张列表中的一个元素变成粗体,来与同类进行对照,从而达到强调它的目的这种情况下,可编写作用于此元素ID属性的规则。

标识选择器的定义方法也有两种:

(1)与元素不相关的标识选择器的定义方法:

alt

这种标识选择器是定义时在ID的名称前面加了一个“#”,后面的定义和类选择器相同。

(2)与元素相关的标识选择器的定义方法:

alt

这种标识选择器是在定义时使用Tag#ID的方式表示该ID是与元素相关的选择器,后面的定义和前面的选择器相同。

例如,下面使用标识选择器的代码:

alt

上面的代码中第1行~第4行采用第1种方法定义ID选择器,将可用于所有字体大小的定义,第5行~第8行采用第2种方法定义ID选择器,将只用于匹配id="intro"的段落元素。

ID选择器局限性很大,只能单独定义某个元素的样式,一般只在特殊情况下使用。

4.包含选择器

包含选择器是可以单独对某种元素包含关系(元素1里包含元素2)定义的样式表,这种方式只对在元素1里的元素2定义,对单独的元素1或元素2无定义,例如:

alt

上面的代码是为在表格内的链接定义了样式,文字大小为12px,而表格外链接的文字则不接受该样式的定义。

5.伪类选择器

在样式的语法中,还有一个概念比较重要就是伪类,很多特效可以利用伪类来实现。伪类可以看做是一种特殊的类选择器,是能被支持CSS的浏览器自动所识别的特殊选择器。它的最大的用处就是可以对链接在不同状态下定义不同的样式效果。

伪类的定义格式如下:

alt

伪类和类不同,是CSS已经定义好的,不能象类选择器一样随意用别的名字,根据上面的语法可以解释为对象(选择器)在某个特殊状态下(伪类)的样式。

最常用的是4种为a(链接)元素的伪类,它表示动态链接在4种不同的状态:link(未访问的链接)、visited(已访问的链接)、active(激活链接)、hover(鼠标停留在链接上)。可以把它们分别定义不同的效果,以区别以上4种状态,例如以下代码:

alt

上面的代码中第1行定义未访问的链接,第2行定义已访问的链接,第3行定义鼠标在链接上,第4行定义激活链接。

教程类别