CSS id 选择器

id 选择器

id 选择器能够为标有特定 id 的 HTML 元素指定特定的样式。css

id 选择器以 "#" 来定义。html

下面的两个 id 选择器,第一个能够定义元素的颜色为红色,第二个定义元素的颜色为绿色:浏览器

 {color:red;}
 {color:green;}
#red#green

下面的 HTML 代码中,id 属性为 red 的 p 元素显示为红色,而 id 属性为 green 的 p 元素显示为绿色。ide

<p >这个段落是红色。</p>
<p >这个段落是绿色。</p>
id="red"id="green"

注意:id 属性只能在每一个 HTML 文档中出现一次。想知道缘由吗,请参阅 XHTML:网站重构布局

id 选择器和派生选择器

在现代布局中,id 选择器经常用于创建派生选择器。网站

 {
	font-style: italic;
	text-align: right;
	margin-top: 0.5em;
	}
#sidebar p

上面的样式只会应用于出如今 id 是 sidebar 的元素内的段落。这个元素极可能是 div 或者是表格单元,尽管它也多是一个表格或者其余块级元素。它甚至能够是一个内联元素,好比 <em></em> 或者 <span></span>,不过这样的用法是非法的,由于不能够在内联元素 <span> 中嵌入 <p> (若是你忘记了缘由,请参阅 XHTML:网站重构)。spa

一个选择器,多种用法

即便被标注为 sidebar 的元素只能在文档中出现一次,这个 id 选择器做为派生选择器也能够被使用不少次:code

 {
	font-style: italic;
	text-align: right;
	margin-top: 0.5em;
	}

 {
	font-size: 1em;
	font-weight: normal;
	font-style: italic;
	margin: 0;
	line-height: 1.5;
	text-align: right;
	}
#sidebar p#sidebar h2

在这里,与页面中的其余 p 元素明显不一样的是,sidebar 内的 p 元素获得了特殊的处理,同时,与页面中其余全部 h2 元素明显不一样的是,sidebar 中的 h2 元素也获得了不一样的特殊处理。orm

单独的选择器

id 选择器即便不被用来建立派生选择器,它也能够独立发挥做用:htm

 {
	border: 1px dotted #000;
	padding: 10px;
	}#sidebar

根据这条规则,id 为 sidebar 的元素将拥有一个像素宽的黑色点状边框,同时其周围会有 10 个像素宽的内边距(padding,内部空白)。老版本的 Windows/IE 浏览器可能会忽略这条规则,除非你特别地定义这个选择器所属的元素:

 {
	border: 1px dotted #000;
	padding: 10px;
	}div#sidebar

CSS ID 选择器详解

ID 选择器容许以一种独立于文档元素的方式来指定样式。

CSS ID 选择器

在某些方面,ID 选择器相似于类选择器,不过也有一些重要差异。

语法

首先,ID 选择器前面有一个 # 号 - 也称为棋盘号或井号。

请看下面的规则:

*#intro {font-weight:bold;}

与类选择器同样,ID 选择器中能够忽略通配选择器。前面的例子也能够写做:

#intro {font-weight:bold;}

这个选择器的效果将是同样的。

第二个区别是 ID 选择器不引用 class 属性的值,毫无疑问,它要引用 id 属性中的值。

如下是一个实际 ID 选择器的例子:

<p id="intro">This is a paragraph of introduction.</p>

亲自试一试

类选择器仍是 ID 选择器?

在类选择器这一章中咱们曾讲解过,能够为任意多个元素指定类。前一章中类名 important 被应用到 p 和 h1 元素,并且它还能够应用到更多元素。

区别 1:只能在文档中使用一次

与类不一样,在一个 HTML 文档中,ID 选择器会使用一次,并且仅一次。

区别 2:不能使用 ID 词列表

不一样于类选择器,ID 选择器不能结合使用,由于 ID 属性不容许有以空格分隔的词列表。

区别 3:ID 能包含更多含义

相似于类,能够独立于元素来选择 ID。有些状况下,您知道文档中会出现某个特定 ID 值,可是并不知道它会出如今哪一个元素上,因此您想声明独立的 ID 选择器。例如,您可能知道在一个给定的文档中会有一个 ID 值为 mostImportant 的元素。您不知道这个最重要的东西是一个段落、一个短语、一个列表项仍是一个小节标题。您只知道每一个文档都会有这么一个最重要的内容,它可能在任何元素中,并且只能出现一个。在这种状况下,能够编写以下规则:

#mostImportant {color:red; background:yellow;}

这个规则会与如下各个元素匹配(这些元素不能在同一个文档中同时出现,由于它们都有相同的 ID 值):

<h1 id="mostImportant">This is important!</h1>
<em id="mostImportant">This is important!</em> <ul id="mostImportant">This is important!</ul> 

亲自试一试:

区分大小写

请注意,类选择器和 ID 选择器多是区分大小写的。这取决于文档的语言。HTML 和 XHTML 将类和 ID 值定义为区分大小写,因此类和 ID 值的大小写必须与文档中的相应值匹配。

所以,对于如下的 CSS 和 HTML,元素不会变成粗体:

#intro {font-weight:bold;}

<p id="Intro">This is a paragraph of introduction.</p>

因为字母 i 的大小写不一样,因此选择器不会匹配上面的元素。

相关文章
相关标签/搜索