《图解CSS3:核心技术与案例实战》——2.3节层次选择器

2.3 层次选择器
层次选择器通过HTML的DOM元素间的层次关系获取元素,其主要的层次关系包括后代、父子、相邻兄弟和通用兄弟几种关系,通过其中某类关系可以方便快捷地选定需要的元素。

2.3.1 层次选择器语法
层次选择器是一个非常好的选择器,也是大家常用的选择器,其详细说明如表2-3所示。

2.3.2 浏览器兼容性
浏览器的兼容性如表2-4所示。从表中可以看出,子选择器、相邻兄弟选择器和通用兄弟选择器要IE 7以及其以上版本才支持,随着IE 6的慢慢消失,层次选择可以放心使用。

2.3.3 实战体验:使用层次选择器选择元素
在层次选择器中,后代选择器与子选择器是比较常用的,而对于相邻兄弟选择器和通用兄弟选择器而言,平时大家并不常使用,特别是CSS3选择器中新增的通用兄弟选择器。下面通过示例来演示各种层次选择器在页面中如何选择HTML的DOM元素的方法。
页面中有10个div元素,其中第四个div中包含了2个div,另外第七个div包含了第八个,而第八个div又包含了第九个div,并且第九个div包含了第十个div。下面通过层次选择器来改变div的样式风格。
新创建一个HTML文件 2-2.html,代码如下。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>使用CSS3层次选择器</title>
  <style type="text/css">
    *{margin: 0;padding:0;}
    body {width: 300px;margin: 0 auto;}
    div{margin:5px;padding:5px;border: 1px solid #ccc;}
  </style>
</head>
<body>
  <div>1</div>
  <div>2</div>
  <div>3</div>
  <div>4
    <div>5</div>
    <div>6</div>
  </div>
  <div>7
    <div>8
      <div>9
        <div>10</div>
      </div>
    </div>
  </div>
</body>
</html>

在具体使用层选择器之前,先来看看页面的初步效果,如图2-8所示。

为了更好地理清这些div的层次关系,可以先将示例中的body部分画一个DOM树形草图,如图2-9所示。

2.3.4 后代选择器
后代选择器(E F)也称为包含选择器,作用就是可以选择某元素的后代元素。例如“E F”,E为祖先元素,F为后代元素,表达的意思就是选择E元素的所有后代F元素。这里的F元素不管是E元素的子元素、孙辈元素或者更深层次的关系,都将被选中。换句话说,不论F在E中有多少层级关系,F元素都将被选中。接下来使用后代选择器来改变其背景色。

*{margin: 0;padding:0;}
body {width: 300px;margin: 0 auto;}
div{margin:5px;padding:5px;border: 1px solid #ccc;}
div div {background: orange;}

一起来看使用后代选择器改变了哪几个div的背景色,如图2-10所示。

2.3.5 子选择器
子选择器(E > F)只能选择某元素的子元素,其中E为父元素,而F为子元素,其中E>F表示选择了E元素下所有子元素F。这与后代选择器(E F)不一样,在后代选择器中F是E的后代元素,而在E>F中F仅仅是E的子元素而已。接下来通过例子,选择器改变body下的子元素div的背景色。

*{margin: 0;padding:0;}
body {width: 300px;margin: 0 auto;}
div{margin:5px;padding:5px;border: 1px solid #ccc;}
div div {background: orange;}
body > div {background: green;}

通过上面子选择器的运用,你能猜出body的10个div中,哪几个背景色将变成绿色呢?来看图2-11的效果。

2.3.6 相邻兄弟选择器
相邻兄弟选择器(E + F)可以选择紧接在另一个元素后的元素,它们具有一个相同的父元素。换句话说,E和F是同辈元素,F元素在E元素后面,并且相邻,这样就可以使用相邻兄弟选择器来选择F元素。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
  <meta charset="UTF-8">
  <title>使用CSS3层次选择器</title>
  <style type="text/css">
    *{margin: 0;padding:0;}
    body {width: 300px;margin: 0 auto;}
    div{margin:5px;padding:5px;border: 1px solid #ccc;}
    div div {background: orange;}
    body > div {background: green;}
    .active + div {background: lime;}
  </style>
</head>
<body>
  <div  class="active">1</div>
  <!-- 为了说明相邻兄弟选择器,在此处添加一个类名active -->
  <div>2</div>
  <div>3</div>
  <div>4
    <div>5</div>
    <div>6</div>
  </div>
  <div>7
    <div>8
      <div>9
        <div>10</div>
      </div>
    </div>
  </div>
</body>
</html>

此时第二个div的背景色将变成“lime”色,如图2-12所示。

2.3.7 通用兄弟选择器
通用兄弟选择器(E~F)是CSS3新增加的,用于选择某元素后面的所有兄弟元素,它们和相邻兄弟选择器类似,需要在同一个父元素之中。也就是说,E和F元素都是同辈元素,并且F元素在E元素之后,E~F将选中E元素后面的所有F元素。如下面的代码所示。

*{margin: 0;padding:0;}
body {width: 300px;margin: 0 auto;}
div{margin:5px;padding:5px;border: 1px solid #ccc;}
div div {background: orange;}
body > div {background: green;}
.active + div {background: lime;}
.active ~ div {background: red;}

这样,只要是div.active的兄弟元素div,并且在div.active之后,其背景色将变成红色,如图2-13所示。

时间: 2024-09-28 04:38:59

《图解CSS3:核心技术与案例实战》——2.3节层次选择器的相关文章

图解css3:核心技术与案例实战. 2.3 层次选择器

2.3 层次选择器 层次选择器通过HTML的DOM元素间的层次关系获取元素,其主要的层次关系包括后代.父子.相邻兄弟和通用兄弟几种关系,通过其中某类关系可以方便快捷地选定需要的元素. 2.3.1 层次选择器语法 层次选择器是一个非常好的选择器,也是大家常用的选择器,其详细说明如表2-3所示. 表2-3 层次选择器语法 选择器     类型         功能描述 E F          后代选择器(包含选择器)         选择匹配的F元素,且匹配的F元素被包含在匹配的E元素内 E >

图解css3:核心技术与案例实战. 2.2 基本选择器

2.2 基本选择器 基本选择器是CSS中使用最频繁.最基础,也是CSS中最早定义的选择器,这部分选择器在CSS1中就定义了,为了便于初学者温故而知新,不妨回顾CSS的基础选择器. 2.2.1 基本选择器语法 通过基本选择器可以确定HTML树形结构中大多数的DOM元素节点.其详细说明如表2-1所示. 表2-1 基本选择器语法 选择器     类型         功能描述 *       通配选择器     选择文档中所有的HTML元素 E       元素选择器     选择指定的类型的HTML

图解css3:核心技术与案例实战. 2.11 属性选择器

2.11 属性选择器 在HTML中,通过各种各样的属性可以给元素增加很多附加的信息.例如,通过id属性可以将不同DIV元素进行区分.CSS2中引入了一些属性选择器,这些选择器可基于元素的属性来匹配元素,而CSS3在CSS2的基础上扩展了这些属性选择器,支持基于模式匹配来定位元素. 2.11.1 属性选择器语法 CSS3在CSS2的基础上新增了3个属性选择器,可以帮助大家对标签进行过滤,也能非常容易帮助大家在众多标签中定位自己需要的HTML标签,下面通过表2-18详细介绍CSS3的属性选择器的使用

图解css3:核心技术与案例实战

 Web开发技术丛书 图解CSS3:核心技术与案例实战 大 漠 著 图书在版编目(CIP)数据 图解CSS3:核心技术与案例实战/大漠著. -北京:机械工业出版社,2014.7 (Web开发技术丛书) ISBN 978-7-111-46920-9 I. 图- II.大- III. 网页制作工具 IV. TP393.092 中国版本图书馆CIP数据核字(2014)第116144号 图解CSS3:核心技术与案例实战 大 漠 著 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100

图解css3:核心技术与案例实战. 导读

图解CSS3:核心技术与案例实战 大 漠 著 为什么要写这本书     CSS3是在CSS2.1基础上扩展而来,事实上,它还没有完全成熟.有些专家会告诉你,CSS3现在还用不上,甚至几年之后都不会有成熟的规范发布.     目前为止CSS3还没有一套成熟的规范,其中的模块也在不断更新,特别是浏览器对CSS3特性的支持也在不断变化,同时没有足够的时间去学习和研究W3C官方文档和规范,致使我们学习CSS3变得更为复杂.     为什么会选择这个时候编写这样一本图书呢?原因很简单.对于希望Web应用开

《图解CSS3:核心技术与案例实战》——2.2节基本选择器

2.2 基本选择器基本选择器是CSS中使用最频繁.最基础,也是CSS中最早定义的选择器,这部分选择器在CSS1中就定义了,为了便于初学者温故而知新,不妨回顾CSS的基础选择器. 2.2.1 基本选择器语法通过基本选择器可以确定HTML树形结构中大多数的DOM元素节点.其详细说明如表2-1所示. 2.2.2 浏览器兼容性浏览器兼容性如表2-2所示.从表中可以看出,浏览器对基本选择器都是一路绿灯通行,大家可以放心使用. 2.2.3 实战体验:使用基本选择器下面通过示例介绍各种基本选择器在页面中的使用

《图解CSS3:核心技术与案例实战》——2.1节认识CSS选择器

2.1 认识CSS选择器 要使某个样式应用于特定的HTML元素,首先需要找到该元素.在CSS中,执行这一任务的表现规则称为CSS选择器.它为获取目标元素之后施加样式提供了极大的灵活性.实际上,CSS2.1已经为大家提供了很多常用的选择器,基本能够满足Web设计师常规的设计需求. 2.1.1 CSS3选择器的优势 既然CSS选择器能满足Web常规的设计需求,CSS3选择器有什么优势呢?CSS3选择器不但支持所有CSS选择器,同时新增了独有的选择器,对拥有一定CSS基础的开发人员来说,学习CSS3选

图解css3:核心技术与案例实战. 2.1 认识CSS选择器

2.1 认识CSS选择器 要使某个样式应用于特定的HTML元素,首先需要找到该元素.在CSS中,执行这一任务的表现规则称为CSS选择器.它为获取目标元素之后施加样式提供了极大的灵活性.实际上,CSS2.1已经为大家提供了很多常用的选择器,基本能够满足Web设计师常规的设计需求. 2.1.1 CSS3选择器的优势 既然CSS选择器能满足Web常规的设计需求,CSS3选择器有什么优势呢?CSS3选择器不但支持所有CSS选择器,同时新增了独有的选择器,对拥有一定CSS基础的开发人员来说,学习CSS3选

图解css3:核心技术与案例实战. 2.12 本章小结

2.12 本章小结 本章主要向大家介绍了CSS3核心部分中的选择器.首先介绍CSS3选择器的优势,然后分别详细介绍了基本选择器.层次选择器.伪类选择器.属性选择器.希望大家学习之后对CSS3选择器有一个更详细的了解,为后面的学习打下坚实的基础.