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

2.2 基本选择器

基本选择器是CSS中使用最频繁、最基础,也是CSS中最早定义的选择器,这部分选择器在CSS1中就定义了,为了便于初学者温故而知新,不妨回顾CSS的基础选择器。

2.2.1 基本选择器语法

通过基本选择器可以确定HTML树形结构中大多数的DOM元素节点。其详细说明如表2-1所示。

表2-1 基本选择器语法

选择器     类型         功能描述

*       通配选择器     选择文档中所有的HTML元素

E       元素选择器     选择指定的类型的HTML元素

#id    ID选择器         选择指定ID属性值为“id”的任意类型元素

.class        类选择器         选择指定class属性值为“class”的任意类型的任意多个元素

selector1,selectorN         群组选择器     将每一个选择器匹配的元素集合并

 

2.2.2 浏览器兼容性

浏览器兼容性如表2-2所示。从表中可以看出,浏览器对基本选择器都是一路绿灯通行,大家可以放心使用。

2.2.3 实战体验:使用基本选择器

下面通过示例介绍各种基本选择器在页面中的使用方法。

页面中有一个列表,其中第一个和最后一个设置了ID属性,其中部分列表项设置了class类名,通过基本选择器来改变元素的样式风格。

新创建一个HTML文件2-1.html,加入以下代码。

<!DOCTYPE HTML>

<html lang="en-US">

<head>

 
<meta charset="UTF-8">

 
<title>使用CSS3基本选择器</title>

 
<style type="text/css">

   
*{margin: 0;padding:0;}

   
.clearfix:after,.clearfix:before{display:table;content:""}

   
.clearfix:after{clear:both;overflow:hidden}

   
.demo { width: 250px; border: 1px solid #ccc; padding: 10px;margin: 20px
auto}

   
li {list-style:none outside none; float: left; height: 20px;

       
line-height: 20px; width: 20px;border-radius: 10px;

       
text-align: center; background: #f36; color: green; margin-right: 5px; }

 
</style>

</head>

<body>

 
<ul class="clearfix demo">

   
<li class="first" id="first">1</li>

   
<li class="active">2</li>

   
<li class="important item">3</li>

   
<li class="important">4</li>

   
<li class="item">5</li>

   
<li>6</li>

   
<li>7</li>

   
<li>8</li>

   
<li>9</li>

   
<li class="last" id="last">10</li>

 
</ul>

</body>

</html>

上面代码使用了基本选择器,首先看看页面的初步效果(背景为粉红色),如图2-2所示。

下面通过图解的方法说明CSS3基本选择器的使用方法。

2.2.4 通配选择器

通配选择器(*)用来选择所有元素,当然也可以选择某个元素下的所有元素。如:

*{margin: 0;padding:0}

上面一行代码大家在Reset样式文件中经常看到,表示所有元素的margin和padding都设置为0。为了更好地说明问题,通过CSS3选择器中的通配选择器来改变列表中所有子项的背景色设置为orange。

*{margin: 0;padding:0;}

.clearfix:after,.clearfix:before{display:table;content:""}

.clearfix:after{clear:both;overflow:hidden}

.demo { width: 250px; border: 1px solid
#ccc; padding: 10px;margin: 20px auto} 

li {list-style:none outside none; float:
left; height: 20px;

   
line-height: 20px; width: 20px;border-radius: 10px; text-align: center;
background: #f36; color: green; margin-right: 5px; }

.demo * {background: orange}

此时元素类名为demo下的所有元素都将背景色设置为橙色,如图2-3所示。

2.2.5 元素选择器

元素选择器(E)是CSS选择器中最常见、最基本的选择器。文档的元素包括html、body、p、iv等,如示例中ul、li也属于HTML元素。接下来通过ul元素选择器改变整个列表的背景色。

*{margin: 0;padding:0;}

.clearfix:after,.clearfix:before{display:table;content:""}

.clearfix:after{clear:both;overflow:hidden}

.demo { width: 250px; border: 1px solid
#ccc; padding: 10px;margin: 20px auto}

li {list-style:none outside none; float:
left; height: 20px; line-height: 20px;

         width: 20px;border-radius: 10px;
text-align: center; background: #f36;

        
color: green; margin-right: 5px; }

.demo *{background: orange}

ul {background:grey}

此时列表ul的背景色将变成灰色,如图2-4所示。

2.2.6 ID选择器

在使用ID选择器(#id)之前,需要在HTML文档中给对应的元素设置id属性并设置其值,才能找到对应的元素。ID选择器具有唯一性,在一个页面中不会同时出现id相同的属性值。在CSS样式中使用id选择器时,需要在id属性值的前面加上“#”号,如(#id)。在下面这个示例中,可以轻松地看到列表中的第一项和最后一项分别定义了一个id,其值分别为“first”和“last”。使用这两个id值来改变列表项中第一个和最后一个列表项的背景色和前景色,代码如下。

*{margin: 0;padding:0;}

.clearfix:after,.clearfix:before{display:table;content:""}

.clearfix:after{clear:both;overflow:hidden}

.demo { width: 250px; border: 1px solid
#ccc; padding: 10px;margin: 20px auto} 

 li
{list-style:none outside none; float: left; height: 20px; line-height: 20px;

         
width: 20px;border-radius: 10px; text-align: center; background: #f36;

         
color: green; margin-right: 5px; }

.demo *{background: orange}

ul {background:grey}

#first{background:lime;color:#000}

#last {background:#000;color:lime}

页面效果如图2-5所示。

2.2.7 类选择器

类选择器(.class)是以独立于文档元素的方式来指定元素样式。使用方法与ID选择器极其相似,首先在HTML给需要的元素定义class属性,并为其设置属性值。其与ID选择器有一个很大不同之处。“类选择器在一个页面中可以有多个相同的类名,而ID选择器其ID值在整个页面中是唯一的一个”。同样,看看如何通过类选择器来改变元素的样式。

*{margin: 0;padding:0;}

.clearfix:after,.clearfix:before{display:table;content:""}

.clearfix:after{clear:both;overflow:hidden}

.demo { width: 250px; border: 1px solid
#ccc; padding: 10px;margin: 20px auto} 

li {list-style:none outside none; float:
left; height: 20px;

   
line-height: 20px; width: 20px;border-radius: 10px;

    text-align: center; background: #f36; color:
green;

    
margin-right: 5px; }

.demo *{background: orange}

ul {background:grey}

#first{background:lime;color:#000}

#last {background:#000;color:lime}

.item {background: green;color:
#fff;font-weight:bold}

页面效果就变成图2-6所示的风格了。

上面是类选择器的简单使用,其实类选择器还有一种使用方法,就是多类选择器。通过两个或两个以上类选择器合并,来定义有别于一个类名的元素效果。

*{margin: 0;padding:0;}

.clearfix:after,.clearfix:before{display:table;content:""}

.clearfix:after{clear:both;overflow:hidden}

.demo { width: 250px; border: 1px solid
#ccc; padding: 10px;margin: 20px auto} 

li {list-style:none outside none; float:
left; height: 20px;

   
line-height: 20px; width: 20px;border-radius: 10px;

   
text-align: center; background: #f36; color: green;

   
margin-right: 5px; }

.demo *{background: orange}

ul {background:grey}

#first{background:lime;color:#000}

#last {background:#000;color:lime}

.item {background: green;color:
#fff;font-weight:bold}

.item.important {background:red;}

使用多类选择器时,大家需要注意,如果一个多类选择器包含的类名中其中有一个不存在,这个选择器将无法找到相匹配的元素,正如上面的代码,其只能匹配li元素同时具有“item”和“important”的元素,而只有其中任何一个类名都将无法匹配,如图2-7所示。

 

图2-7 多类名选择器使用效果

意     IE 6选择器并不支持多类名选择器,其将以末尾类名为准,大家使用时千万小心。

 

由于类名在一个HTML文档中可以同时存在于不同的元素标签上。换句话说,在一个HTML文档中,div可以有类名“block”,ul也可以有类名“block”,但有时在Web的页面开发中,仅需要对ul为“block”定义样式,此时仅采用类名选择器并不能达到需要的效果,其实CSS选择器还支持带有标签的类名选择器“ul.block”。

ul.block{background:#ccc;}

上面的代码只匹配class属性包含“block”的所有ul元素,但其他任何类型的元素都不匹配,包括有“blcok”类名的元素。简而言之,“ul.block”只会匹配ul元素,并且有一个类名“block”。不符合这两个条件的任何一个都不能与选择器匹配。

2.2.8 群组选择器

群组选择器(selector1,selectorN)是将具有相同样式的元素分组在一起,每个选择器之间用逗号(,)隔开,例如“selector1,selector2,…,selectorN”。这个逗号告诉浏览器,规则中包含多个不同的选择器,省去逗号就成了后代选择器,这一点大家在使用中千万要小心。

意     “selector1,selectorN”是群组选择器,表示选择匹配为selector1和selectorN的所有元素;“selector1 selectorN”是后代选择器(后面介绍),表示选择器selectorN所有元素为selector1的后代元素。

时间: 2024-09-20 10:39:05

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

图解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.8 结构伪类选择器

2.8 结构伪类选择器 伪类可以将一段并不存在的HTML当作独立元素来定位,或是找到无法使用其他简单选择器就能定位到的切实存在的元素.因此CSS3给伪类选择器引入一种"结构伪类选择器".这种选择器可以根据元素在文档树中的某些特性(如相对位置)定位到它们.也就是说,通过文档树结构的相互关系来匹配特定的元素,从而减少HTML文档对ID或类名的定义,帮助你保持代码干净和整洁. 2.8.1 重温HTML的DOM树 所有的结构伪类都是基于HTML文档树的,也称做文档对象模型(DOM),下面简单回

图解css3:核心技术与案例实战. 3.5 CSS3盒子阴影属性

3.5 CSS3盒子阴影属性 box-shadow也是CSS3新增的一个重要属性,用来定义元素的盒子阴影.本节主要介绍CSS3的box-shadow的属性以及如何使用. 3.5.1 box-shadow属性的语法及参数 在具体学习box-shadow使用方法之前,我们必须先知道box-shadow使用的语法规则. box-shadow:none | [ <length> <length> <length>?<length>? || <color>

图解css3:核心技术与案例实战. 3.4 CSS3圆角边框属性

3.4 CSS3圆角边框属性 在Web页面上圆角效果很常见.圆角给页面增添曲线之美,让页面不那么生硬,但是为了设计圆角效果,Web设计师们要花费更多的时间与精力. 3.4.1 border-radius属性的语法及参数 CSS3中专门针对元素的圆角效果增加了一个圆角属性border-radius.Web设计师不会为Web页面中的圆角效果纠结了. 语法: border-radius: none | <length> {1,4}[/<length>{1,4}] ? border-rad

图解css3:核心技术与案例实战. 3.3 CSS3图片边框属性

3.3 CSS3图片边框属性 border-image效果在CSS2中,只有使用背景图片来制作,而且制作过程非常复杂,做完后也很难维护.如今CSS3中增添了一个图片边框的属性,能够模拟出background-image属性的功能,功能比background-image强大,我们可以使用border-image属性给任何元素( 除border-collapse属性值为collapse的table元素之外)设置图片效果边框,还可以使用这个来制作圆角按钮效果.渐变的Tabs效果等. 3.3.1 bor

图解css3:核心技术与案例实战. 3.2 CSS3边框颜色属性

3.2 CSS3边框颜色属性 border-color属性早在CSS1中就已经定义了.不过,CSS3增强了这个属性的功能,使用它可以为元素边框设置更多的颜色,从而方便Web设计人员设计出更为绚丽的边框效果,例如渐变的边框效果.多颜色的边框效果等. 3.2.1 border-color属性的语法及参数 border-color的语法看上去和CSS1中的完全相同,但为了避免与border-color属性的原功能(也就是在CSS1中的定义边框颜色功能)发生冲突,CSS3在这个属性上做出一定的修改.语法

图解css3:核心技术与案例实战. 2.7 UI元素状态伪类选择器

2.7 UI元素状态伪类选择器 UI元素状态伪类选择器也是CSS3选择器模块组中的一部分,主要用于form表单元素上,以提高网页的人机交互.操作逻辑以及页面的整体美观,使表单页面更具个性与品位,而且使用户操作页面表单更便利和简单. 2.7.1 UI元素状态伪类选择器语法 UI元素的状态一般包括:启用.禁用.选中.未选中.获得焦点.失去焦点.锁定和待机等.在HTML元素中有可用和不可用状态,例如表单中的文本输入框:HTML元素中还有选中和未选中状态,例如表单中的复选按钮和单选按钮.这几种状态都是C

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

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