CSS 类选择器
类选择器允许以一种独立于文档元素的方式来指定样式
CSS 类选择器
类选择器允许以一种独立于文档元素的方式来指定样式
该选择器可以单独使用 也可以和其他元素结合使用
提示 只要适当的标记文档后 才能使用这些选择器 所以使用这两种选择器 通常要做一些构想和计划
要考虑样式而不是考虑具体设计的元素 最常用的方法就是使用类选择器
修改HTML代码
在使用类选择器之前,需要修改具体的文档标记,以便类选择器正常工作。
为了将类选择器的样式与元素关联,必须将 class 指定为一个适当的值。请看下面的 HTML 代码:
<h1 class="important">
This heading is very important.
</h1> <p class="important">
This paragraph is very important.
</p>
在上面的代码中,两个元素的 class 都指定为 important:第一个标题( h1 元素),第二个段落(p 元素)。
语法
然后我们使用以下语法向这些归类的元素应用样式,即类名前有一个点号(.),然后结合通配选择器:
*.important {color:red;}
如果您只想选择所有类名相同的元素,可以在类选择器中忽略通配选择器,这没有任何不好的影响:
.important {color:red;}
结合元素选择器
类选择器可以结合元素选择器来使用。
例如,您可能希望只有段落显示为红色文本:
p.important {color:red;}
选择器现在会匹配 class 属性包含 important 的所有 p 元素,但是其他任何类型的元素都不匹配,不论是否有此 class 属性。选择器 p.important 解释为:“其 class 属性值为 important 的所有段落”。 因为 h1 元素不是段落,这个规则的选择器与之不匹配,因此 h1 元素不会变成红色文本。
如果你确实希望为 h1 元素指定不同的样式,可以使用选择器 h1.important:
p.important {color:red;}
h1.important {color:blue;}
CSS 多类选择器
在上面我们介绍了class值中包含一个词的情况。在HTML中 一个class值中可能包含一个词列表 各个词之间用空格分割。 例如 如果你希望将一个特定的元素同时标记为重要(important)和警告(waring)可以这样写 需要注意的是 只需要用空格号分开 不能写成 class = "" class = ""
<p class="important waring">A dotted outline</p>
这两个词的顺序无关紧要 要写成 warning important 也可以。
我们假设 class 为 important 的所有元素都是粗体,而 class 为 warning 的所有元素为斜体,class 中同时包含 important 和 warning 的所有元素还有一个银色的背景 。就可以写作:
.important {font-weight:bold;}
.warning {font-style:italic;}
.important.warning {background:silver;}
通过把两个类选择器链接在一起,仅可以选择同时包含这些类名的元素(类名的顺序不限)。
如果一个多类选择器包含类名列表中没有的一个类名,匹配就会失败。请看下面的规则:
.important.urgent {background:silver;}
不出所料,这个选择器将只匹配 class 属性中包含词 important 和 urgent 的 p 元素。因此,如果一个 p 元素的 class 属性中只有词 important 和 warning,将不能匹配。不过,它能匹配以下元素:
<p class="important urgent warning">
This paragraph is a very important and urgent warning.
</p>
CSS ID选择器
ID 选择器允许以一种独立于文档元素的方式来指定样式。
CSS ID选择器类似于类选择器 不过也有一些重要差别
语法
首先 ID选择器前面要有一个#号
请看下面的规则
* #intro{font-weight:bold}
与类选择器一样 ID选择器中可以忽略通配符选择器 前面的例子也可以这样写
#intro{font-weight:bold}
这两种写法其实效果是一样的
第二个区别是 ID选择器不引用class的值 毫无疑问 它要引用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;}
尽可能的使用class 因为js使用id的概率很大,而css也是使用id的如果沟通不及时 会造成更改困难。类上样式 id上行为
区分大小写
请注意,类选择器和 ID 选择器可能是区分大小写的。这取决于文档的语言。HTML 和 XHTML 将类和 ID 值定义为区分大小写,所以类和 ID 值的大小写必须与文档中的相应值匹配。
类选择器的使用思路
类天生是被多次使用的也就是说一个标签可以有多个类,不要试图用一个类解决标签的所有样式。总结标签的共同特点组建公共类。就是类是提供公共服务的。标签一旦携带某个类,就有这个类的效果。每个标签根据需要,选择自己携带的公共类名。
一个标签可以多携带几个类 共同完成这个标签的样式