第五章 选择器的声明

1、集体声明

在声明各种CSS选择器时,如果某些选择器的风格是完全相同的,或者部分相同,这时便可以利用集体声明的方法,将风格相同的CSS选择器同时声明。

<head>
<title>集体声明</title>
<style type="text/css">
<!--
h1,h2,h3,h4,h5,p{          /*集体声明*/
    color:purple;
    font-size:15px;
}
h2.special,.special,#one{     /*集体声明*/
    text-decoration:underline;
}
-->
</style>
</head>
<body>
<h1>集体声明h1</h1>
<h2 class="special">集体声明h2</h2>
<h3>集体声明h3</h3>
<h4>集体声明h4</h4>
<h5>集体声明h5</h5>
<p>集体声明p1</p>
<p class="special">集体声明p2</p>
<p id="one">集体声明p3</p>
</body>
</html>

对于实际网站中的一些小型网页,例如弹出的小对话框和上传附件的小窗口等,希望这些页面中所有的标记都使用同一种CSS样式,但有不希望逐个来加入集体声明列表,这是可以利用全局声明符号“*”。代码大大缩减,在一些小页面中特别实用。

<style type="text/css">
<!--
*{            /*全局声明符号*/
    color:purple;
    font-size:15px;
}
h2.special,.special,#one{     /*集体声明*/
    text-decoration:underline;
}
-->
</style>

2、选择器的嵌套

在CSS选择器中,还可以通过嵌套的方式,对特殊位置的HTML标记进行声明,例如当<p>与</P>之间包含<b></b>标记是,就可以使用嵌套选择器进行相应的控制。

<head>
<title>CSS选择器的嵌套声明</title>
<style type="text/css">
<!--
p b{
    color:maroon;                /*嵌套声明*/
    text-decoration:underline;
}
-->
</style>
</head>
<body>
    <p>嵌套使<b>用CSS</b>标记的方法</p>嵌套之外的<b>标记</b>不生效
</body>
</html>

嵌套选择器的使用非常广泛,不只是嵌套的标记本身,类别选择器和ID选择器都可以进行嵌套。

<style type="text/css">
<!--
p b{
    color:maroon;                /*嵌套声明*/
    text-decoration:underline;
}
.special i{       /*使用了属性special的标记里面包含的<i>*/
    color:red;
}
#one li{           /*ID为one的标记里面包含的<li>*/
    padding-left:5px;
}
td.top.top1 strong{     /*多层嵌套同样使用   使用了.top类别的<td>标记中包含的.top1类别的标记,其中包含<strong>标记*/
    font-size:16px;
}
-->
</style>
<td class="top">
   <p class=".top1"> 其他内容<strong>CSS控制的部分</strong>其他内容</p>
</td>

注:在构建页面HTML框架是通常只给外层标记(父标记)定义class或者id,内层标记(子标记)能通过嵌套表示的则利用嵌套的方式,而不需要再定义新的class或者专用id。只有当子标记无法利用此规则时,才单独进行声明,例如一个ul标记中包含多个li标记,而需要对其中某个li单独设置CSS样式是才赋给该li一个单独的id或者类别,而其他li同样采用ul li{} 的嵌套方法来设置。

3、CSS的继承

将各个HTML标记看作一各个容器,其中被包含的小容器会继承所包含它的大容器的风格样式。

时间: 2024-10-11 01:35:58

第五章 选择器的声明的相关文章

OpenGL ES着色器语言之操作数(官方文档第五章)

OpenGL ES着色器语言之操作数(官方文档第五章) 5.1操作数 OpenGL ES着色器语言包含如下操作符. 5.2数组下标 数组元素通过数组下标操作符([ ])进行访问.这是操作数组的唯一操作符,举个访问数组元素的例子: diffuseColor += lightIntensity[3] * NdotL; 5.3函数调用 如果一个函数有返回值,那么通常这个函数调用会用在表达式中. 5.4构造器 构造器使用函数调用语法,函数名是一个基本类型的关键字或者结构体名字,在初始化器或表达式中使用.

JS复习第五章

第五章 引用类型 一.Object类型 创建object实例的方式有两种. 第一种是使用new操作符后跟object构造函数,如下所示: ver person = new Object( ) ; person.name = “Nicholas” ; person.age = 29 ; 另一种方式是使用对象字面量表示法: var person = { name : “Nicholas”, age : 29 } ; 对象字面量是向函数传递大量可选参数的首选形式. function displayIn

JavaScript高级程序设计(第3版)第五章读书笔记

第五章 引用类型 创建Object实例的方式有两种,第一种是使用new操作符后跟Object构造函数,例如: var person = new Object( ); person.name = “Nicholas”; person.age=29; 第二种是使用对象字面量表示法.如: var person = { name : “Nicholas”, age : 29 }; 在最后一个属性后面添加逗号,会在IE7及更早版本和Opera中导致错误. 两种访问对象属性的方法,一是方括号语法,例如per

现代编译原理--第五章(活动记录)

(转载请表明出处  http://www.cnblogs.com/BlackWalnut/p/4559245.html ) 第五章是到目前位置最让我头疼的一章,不是因为难,是因为对最终的目的不太明确.整章前半部分用十分精简的语言介绍了一个新的概念,活动记录,也就是在函数调用时,一个调用栈究竟发生了什么事.但是,在最终编码实现过程中,总不能理解作者为什么给了这些变量?或者说,完全不知道作者究竟想让我完成一个怎样的功能.纠结了好几天,后来索性往后继续看,看看能不能找到其他的线索.直到看完后一章,硬着

Java Persistence with MyBatis 3(中文版) 第五章 与Spring集成

MyBatis-Spring是MyBatis框架的子模块,用来提供与当前流行的依赖注入框架Spring的无缝集成. Spring框架是一个基于依赖注入(Dependency Injection)和面向切面编程(Aspect Oriented Programming,AOP)的Java框架,鼓励使用基于POJO的编程模型.另外,Spring提供了声明式和编程式的事务管理能力,可以很大程度上简化应用程序的数据访问层(data access layer)的实现.在本章中,我们将看到在基于Spring的

ArcGIS API for JavaScript 4.2学习笔记[16] 弹窗自定义功能按钮及为要素自定义按钮(第五章完结)

这节对Popups这一章的最后两个例子进行介绍和解析. 第一个[Popup Actions]介绍了弹窗中如何自定义工具按钮(名为actions),以PopupTemplate+FeatureLayer的形式测量要素的长度为例子进行介绍. 第二个[Custom popup actions per feature]则是上一个的升级,如果说上一个例子的功能是写死的,那么这个例子就把这个功能写活了.什么意思呢?上个例子的测距仅仅能测距,没有什么别的特别的.而这个例子以啤酒店的分布(点要素图层)为例,在自

第五章 循环和关系表达式

第五章  循环和关系表达式 5.1  for循环 5.1.1  for循环的使用 For循环的组成部分完成下面4个步骤: 1)        设置初始值: 2)        执行测试,看看循环是否应当继续运行: 3)        执行循环体: 4)        更新用于测试的值. For循环的形式如下: for (init-expresstion; test-expresstion; update-expresstion) body-statement 说明: 1)        C++将

swift学习第五章-字典的使用

//下面是关于字典的 //字典的格式[key:value] //字典可以存放基本类型和对象类型的 //声明一个字典 var dictionary1=["key1":"鸭鸭","key2":"肉包"] var keyValueCount=dictionary1.count//获取这个字典里面键值对的个数 dictionary1["key1"]="鸡鸡"//改变对应健的值 //updateV

第五章简易笔记

第五章-继承 1. 继承已存在的类就是复用(继承)这些类的方法和域.在此基础上,还可以添加一些新的方法和域,以满足新的需求. 2.反射是指在程序运行期间发现更多的类及其属性的能力. 3.在java中所有继承都是公有继承. 4. 在子类中可以增加域.增加方法或覆盖超类的方法,然而绝对不能删除继承的任何域和方法. 5.this与super关键字用途总结: this用途: (1)引用隐式参数: (2)调用该类其他的构造器. super用途: (1)调用超类方法: (2)调用超类构造器. 6.调用构造器