(四)CSS选择器和派生选择器

CSS派生选择器允许你根据文档的上下文关系来确定某个标签的样式。在学习派生之前,先来了解基本的CSS选择器。前面的文章中提到过下图,选择器的位置如下所示:

CSS选择器

分为几种基本选择器:元素选择器、id选择器、类选择器、属性选择器

1.元素选择器

html {color:black;}
h1 {color:blue;}
h2 {color:silver;}

2.id选择器:为指定id的HTML元素指定样式。

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

在HTML代码中,使用

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

注意:id属性只能在每个HTML文档中出现一次。

3.类选择器:为所有拥有该类的HTML元素指定样式。

.center {text-align: center}

HTML中使用:

<h1 class="center">
This heading will be center-aligned
</h1>

<p class="center">
This paragraph will also be center-aligned.
</p>

4.属性选择器:为拥有指定属性的HTML元素设置样式,不仅限于class和id属性。

属性选择器是HTML5的规则。IE7以上版本并且包含!DOCTYPE时,才能使用该规则。具体规则不再赘述,因为到用到才会真正理解每一个的含义,下面表        格你只要知道有这个概念,具体使用时,可点击链接查看每一项的具体含义。

选择器 描述
[attribute] 用于选取带有指定属性的元素。
[attribute=value] 用于选取带有指定属性和值的元素。
[attribute~=value] 用于选取属性值中包含指定词汇的元素。
[attribute|=value] 用于选取带有以指定值开头的属性值的元素,该值必须是整个单词。
[attribute^=value] 匹配属性值以指定值开头的每个元素。
[attribute$=value] 匹配属性值以指定值结尾的每个元素。
[attribute*=value] 匹配属性值中包含指定值的每个元素。

属性选择器有以下几种常见用法:

  • *[title] {color:red;}/*将所有包含title的元素变为红色*/
    a[href] {color:red;}/*只对有href属性的a元素应用该样式*/
    a[href][title] {color:red;}/*为同时有属性href和title的a元素应用样式*/
    img[alt] {border: 5px solid red;}/*所有带有alt属性的图像应用样式,从而突显这些有效的图像,这个例子更适合用来诊断而不是设计,即使用该样式来确定图像是否确实有效。*/

    属性选择器在XML文档中相当有用,因为XML语言主张要针对元素和属性的用途指定元素名和属性名。

    <planet>Venus</planet>
    <planet moons="1">Earth</planet>
    <planet moons="2">Mars</planet>
    planet[moons] {color:red;}

    另外属性与属性值必须完全匹配,

  •  <p class="important warning">This paragraph is a very important warning.</p>
    p[class="important warning"] {color: red;}

选择器分组的概念前面已经提到过,就是属于同一组的样式相同不再赘述,例如:

body, h2, p, table, th, td, pre, strong, em {color:gray;}

通配符选择器匹配所有元素,下面的例子中代表文档中的每个元素的颜色都是红色的。

* {color:red;}

CSS派生选择器

1.id选择器和派生选择器

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

上面的样式只会应用于出现在id是sidebar的元素内的段落。

2.class派生选择器

.fancy td {
    color: #f60;
    background: #666;
    }

上述的样式是指在类名为fancy的更大的元素内的表格单元td都会以灰色背景橙色文字显示。

  • 另外,元素也可以基于它们的类而被选择:
  • td.fancy {
        color: #f60;
        background: #666;
        }

    上述是指,类名为fancy的td将会带有的样式。

  • CSS多类选择器,将两种类名链接在一起,仅可以选择同时包含这些类名的元素,类名顺序不限。
  • <p class="important warning">
    This paragraph is a very important warning.
    </p>
    <p class="important urgent warning">
    This paragraph is a very important and urgent warning.
    </p>

    上述两种情况,多可以用以下规则匹配:

    .important.urgent {background:silver;}

    但是若类名只有important或者urgent,则该规则不匹配。

  •  类选择器和id选择器的区别:
  • id选择器只能在文档中使用一次,类选择器可以为任意个元素指定类。
  • id选择器不能结合使用,因为id属性不允许有以空格分隔的此列表。类选择器却可以多类使用。
  • 相同的一点是,类选择器和id选择器可能是区分大小写的

后代选择器

h1 em {color:red;}

子元素选择器

与后代元素相比,子元素选择器只能选择作为某元素子元素的元素,也就是说只能是子,不能为孙。

h1 > strong {color:red;}

相邻兄弟选择器

可以选择紧接在另一个元素后面的元素,且二者有共同的父元素。

h1 + p {margin-top:50px;}

解读为,选择紧邻h1元素后出现的段落,h1和p元素拥有共同的父元素。

时间: 2024-08-29 13:13:11

(四)CSS选择器和派生选择器的相关文章

CSS:基本语法及派生选择器

本文介绍css基本语法及派生选择器. 代码整理自w3school:http://www.w3school.com.cn (一)基础部分: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <meta http-equiv="

***CSS魔法堂:选择器及其优先级

一.前言     首先看看一道阿里这期网申的题目吧! 1.找出下面优先级相同的选择器 A. img.thumb:after B.[data-job="frontend"]::first-letter C. #main::before   D. [type="checkbox"]:checked E. ul#shop-list 二.回顾选择器类型           html片段 <body> <div id="content"&

css基础语法和选择器的使用

css语法 selector{ property:value } 例:h1{color:red; font-size:14px} 属性大于1个之后,属性之间用分号隔开 如果值大于1个单词,则需要加上引号 p{font-family:"sans serif";} 选择器分组: h1,h2,h3,h4,h5,h6{color:red;} 继承: body{ color:green; } css-派生选择器 通过依据元素在其位置的上下文关系来定义样式 css-id选择器 id选择器可以为标有

CSS基础-派生选择器

一.派生选择器:通过依据元素在其位置的上下文关系来定义样式 html: <p><strong>p标签:hello css</strong></p> <ul> <li><strong>li标签:hello css</strong></li></ul> css: li strong{ color: red;}   原文地址:https://www.cnblogs.com/Lehh/p/868

一步一步学习 JQuery (四) 过滤选择器:属性过滤选择器 &amp;&amp; 子元素过滤选择器 &amp;&amp; 表单过滤选择器

四.属性过滤选择器 属性过滤选择器的过滤规则是通过元素的属性来获取相应的元素 选取下列元素,改变其背景色为 # bbffaa 含有属性title 的div元素. 属性title值等于"test"的div元素. 属性title值不等于"test"的div元素(没有属性title的也将被选中). 属性title值 以"te"开始 的div元素. 属性title值 以"est"结束 的div元素. 属性title值 含有"

CSS选择器之基本选择器总结

一.元素选择器(所有浏览器支持) 元素选择器(标签名选择器)其实就是文档的元素,如html,body,p,div等等, 下面例子中选择了span元素,并设置了字体颜色为红色. <body> <p>这里使用<span>标签名选择器</span>改变了样式</p> </body> CSS: span{ color: red; }  效果: 二.类选择器 (所有浏览器都支持类选择器,但多类选择器(.className1.className2

Css3之高级-1 Css复杂选择器(兄弟选择器 、属性选择器、伪类选择器、伪元素选择器)

一.兄弟选择器 相邻兄弟选择器 - 相邻兄弟选择器匹配指定元素的相邻兄弟元素 - 如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器 - 使用加号(+)作为结合符 通用兄弟选择器 - 通用兄弟选择器匹配某元素后面的所有兄弟元素 - 使用符号(~)作为结合符,即 element1~element2 - 两种元素必须拥有相同的父元素,但是element2不必直接紧随element1 二.属性选择器 属性选择器 - 属性选择器能够将元素附带的属性用于选择器中,从而对带

CSS中伪类选择器及伪元素

1.伪类选择器 在CSS中,最常用的伪类选择器是使用在a(锚)元素上的几种选择器,它们的使用方法如下: a:link{color:#FF0000;text-decoration:none} a:visited{color:#FF0000;text-decoration:none} a:hover{color:#FF0000;text-decoration:none} a:active{color:#FF0000;text-decoration:none} 2.伪元素选择器 伪元素选择器不是针对真

CSS类选择器和ID选择器

ID用于标识页面上的特定元素(比如站点导航),而且必须是唯一的. ID也可以用来标识持久的结构性元素,例如主导航或内容区域. ID还可以用来标识一次性元素,例如某个链接或表单元素. 一个ID只能应用于页面上的一个元素. 同一个类名可以应用于页面上任意多个元素,因此类的功能强大的多.类非常适合表示内容的类型或其他相似的条目.例如有一个新闻页面,其中包含多篇新闻,代码如下所示 <div id="story-id-1"> <h2>ID</h2> <p