CSS学习之二 选择器

2020-05-11 07:45:33易采站长站整理


<div id=”div1 div2″>…</div><!– 这种写法是不对的 –>

无论CSS怎么写,样式都会无效。可是,ID选择符与类选择符是可以结合使用的,如下:


#div.div {color:red;}/* ID选择器与类选择器的结合,可以这么写的,且先后顺序可以颠倒 */

匹配即声明ID为div又声明属于div这个类的HTML元素。
还有要补充一点,既然使用了ID选择符,那么就只能对一种元素中的一个元素使用ID,比如下面的写法就不对:


<h1 id=”important”>important</h1>
<em id=”important”>important</em>
<ul id=”important”>important</ul>

这三种(个)元素具有相同的ID,在同一个文档中不能够同时出现,这也体现出ID的唯一性。
5、属性选择符:目前遗憾的是属性选择器没有被IE6识别,而IE7及以上IE系列支持大多数CSS2.1属性选择器。
简单的属性选择符实例:


a[href] {color:yellow;}/* 简单的属性选择符,匹配所有具有href属性的a元素 */
*[title] {font-weight:bold;}/* 简单的属性选择符,匹配所有具有title属性的元素 */
a[href][title] {color:red;}/* 简单的属性选择符,匹配所有有title属性且有href属性的的a元素 */

下面是根据具体属性值选择:


a[href=”../chemdemo/”] {color:yellow;}/* 根据具体属性值选择,匹配链接为“../chemdemo/”的a标签 */
p[class=”urgent warning”] {font-weight:bold;}/* 根据具体属性值选择,要求属性值必须完全匹配,写成class=”urgent”或其他是不对的 */

上例中,p[class="urgent warning"]严格匹配具有 class="urgent warning"类的p元素,urgent与warning的顺序不颠倒。
下面是根据部分属性值选择:对于class="urgent warning"这个类,CSS可以这样写:


p[class~=”warning”] {color:red;}/* 根据部分属性值选择,“~”表示属性中出现一个空格分隔的词来完成选择相应的p元素 */
[class~=”urgent”] {color:grey;}/* 根据部分属性值选择,“~”表示属性中出现一个空格分隔的词来完成选择 */

当然不仅仅只局限于class属性,任何属性都可以使用属性选择符,比如选择器img[title~="Figure"]会匹配title值为含有“空格和Figure”的图像。
还有以下几种子串匹配属性选择器:


[class^=”cl”] {}/* 子串匹配属性选择器,“^=”匹配class属性的值以cl开头的元素 */
[class$=”dy”] {}/* 子串匹配属性选择器,“$=”匹配class属性的值以dy结尾的元素 */
[class*=”ou”] {}/* 子串匹配属性选择器,“*=”匹配class属性的值还有ou的元素 */