使用Dojo的Ajax应用开发进阶教程,第3部分: 深入理解CSS

提到CSS,很多Web开发人员都不陌生。它是在 Web 应用中控制展现的标准技术。CSS 与 HTML 和 JavaScript 一起,构成了 Ajax 应用的基础。对于 CSS,已经有很多图书和文章进行过详细的介绍。本文不介绍 CSS 语法的细节,而是从一些实际开发中会遇到的问题出发,讨论一些与具体实践相关的话题。

下面首先介绍 CSS 中的一些重要概念,可以帮助读者加深对 CSS 的理解。本文中以 CSS 2.1 规范来进行说明。

CSS 的重要概念

CSS 的语法非常简单,包含的元素也很少,主要有“@ 规则”和样式规则集。“@ 规则”是以 @开头的规则声明,常用的有 @import、@media和 @charset等。样式规则集是一系列样式声明规则的集合。每个样式规则集由选择器和声明两部分组成。

选择器和声明

选择器(selector)定义了一种模式匹配规则,用来选择当前文档中的元素。符合规则的元素将被应用上与该选择器对应的样式声明。CSS 提供了一些基本的选择器。基本的选择器也可以进行组合,形成复杂的表达式。基本选择器的具体说明如下:

通用选择器(*):匹配文档中的任意元素。

元素类型选择器:匹配文档中的某类元素。如 span匹配文档中所有的 span元素。

后代选择器:匹配作为特定元素的后代出现的元素。比如 div span匹配包含在 div元素中的 span元素。

直接后代选择器:匹配作为特定元素的直接后代出现的元素。比如 div > span匹配父节点是 div元素的 span元素。

相邻兄弟元素选择器:匹配与特定元素有相同父节点,并且直接出现在该元素后面的元素。比如 div + span匹配与 div元素父节点相同,并且直接出现在 div元素之后的 span元素。

属性选择器:匹配属性值满足某些条件的元素。如 div[title]匹配有 title属性的 div元素;div[title=Header]匹配 title属性的值为 Header的 div元素。

类选择器:匹配包含某个 CSS 类的元素。如 .header匹配包含了 CSS 类 header的元素。类选择器实际上是属性选择器的一种,是根据属性 class的值来进行选择的。

ID 选择器:匹配指定 ID 属性值的元素。如 #myDiv匹配 ID 为 myDiv的元素。

伪元素和伪类选择器:匹配一些无法根据其在文档树中的位置来定位的元素。常用的伪元素选择器有::first-line匹配段落中的第一行;:first-letter匹配块中第一行的第一个字母。常用的伪类选择器有::link和 :visited分别匹配没有访问过的和已经访问过的链接;:hover匹配当前鼠标悬浮其上的元素;:active匹配当前被用户激活的元素;:focus匹配当前有输入焦点的元素。

声明是 CSS 中样式属性的名值对,其形式是“属性名称 : 属性值”。如声明“font-color : red”把样式 font-color的值设为 red。

属性继承

对于 CSS 中的某些样式属性来说,如果元素没有显式的指定一个值,该属性就会继承该元素的父元素的这个属性的值。常见的会被继承的属性有:visibility、color、font和 text-decoration等。需要注意的是,发生属性继承的时候,子元素继承的是父元素属性的计算值,而不是指定值。比较典型的例子是通过 em或是百分数指定的字体大小。比如父元素的字体大小的声明是“font-size : 1.2em”,而实际计算出来的字体大小是 12px,则子元素继承的是 12px,而不是 1.2em。通过设置属性的值为 inherit可以让该属性强制继承其父元素对应属性的值。

在介绍完 CSS 的重要概念之后,下面介绍 CSS 规则的层叠顺序。

时间: 2025-01-19 16:54:14

使用Dojo的Ajax应用开发进阶教程,第3部分: 深入理解CSS的相关文章

使用Dojo的Ajax应用开发进阶教程,第2部分: 富含语义的HTML

相关文章:使用Dojo的Ajax应用开发进阶教程,第1部分 HTML 是开发 Web 应用的基础.目前已经有数以千亿的使用 HTML 语言编写的网页.HTML 语言的规范也不断在演进和更新.HTML 语言虽然上手比较简单,但是如何开发出组织良好.结构清晰和可维护性高的 HTML 文档,对很多Web开发人员来说,也是一个值得探讨的话题.随着 Ajax 应用的流行,一种称为"富含语义的 HTML(Semantic HTML)"的最佳实践,逐渐被广大 Web开发人员所推崇.这种实践的主要思想

使用Dojo的Ajax应用开发进阶教程,第8部分: Dijit开发最佳实践

Dijit 组件(widget)是 Dojo 提供的图形用户界面组件库.它提供了 Ajax 应用开发中会用到的常用组件,可以帮助开发人员快速的构建 Ajax 应用.本文并不会介绍 Dojo 默认提供的组件,而是侧重于介绍 Dijit 组件的编程模型和最佳实践,其目的是帮助开发人员更好的开发自己的 Dijit 组件.下面首先对 Dijit 做概要介绍. Dijit 概述 Dijit 组件的存在是 Dojo 框架区别于其它 JavaScript 框架的一个重要特性.在桌面应用开发中,开发人员大量使用

使用Dojo的Ajax应用开发进阶教程,第7部分: Dojo核心库深入介绍

Dojo 核心库构建于 Dojo 基本库之上,为 Ajax 应用的开发提供了更加丰富的功能.掌握 Dojo 核心库中包含的内容,可以开发人员减少代码量,而把工作精力集中在与业务逻辑相关的组件的实现上.Dojo 核心库中包含的内容也比较多,本文只是介绍其中一些比较重要或是复杂的部分.首先从数据模型开始介绍. 数据模型 在传统的 Web 应用中,客户端部分所承担的职责很少,基本上只负责数据展现.应用所涉及的复杂数据模型的处理工作由服务器端代码来完成.而在 Ajax 应用中,客户端部分也需要处理一部分

使用Dojo的Ajax应用开发进阶教程,第6部分: Dojo基本库深入介绍

Dojo 基本库(Dojo Base)是 Dojo 框架的核心,包含了与 Ajax 应用开发相关的核心内容,也是 Dojo 核心库(Dojo Core).Dojo 用户界面库(Dijit)和 Dojo 扩展库(Dojox)的基础.Dojo 基本库中包含的内容比较多,下面将详细的对其中的各个模块进行介绍.与 DOM 查询和操作以及事件处理相关的内容已经在本系列中的其它文章中进行介绍,此处不再赘述.而其中与面向对象相关的内容将在其它文章中进行介绍.下面首先介绍 Dojo 基本库中包含的辅助工具方法.

使用Dojo的Ajax应用开发进阶教程,第5部分: 浏览器中的事件处理

简介: 事件处理是 Ajax 应用中的重要组成部分,也是应用动态变化的源动力.本文详细介绍了浏览器中的事件处理相关的内容,包括注册事件监听器.事件发生之后的传播机制.编写事件监听器等,还介绍了 Dojo 对事件处理提供的支持.最后介绍了与浏览器内存泄露和性能相关的最佳实践. 浏览器中的事件是 Ajax 应用动态变化的源动力.用户通过输入设备(主要是键盘和鼠标)与应用进行互动.对于用户不同的动作,如点击鼠标左键.右键.或是按下键盘上的回车键,浏览器会产生与之对应的事件.这些事件按照一定的规则在当前

使用Dojo的Ajax应用开发进阶教程,第4部分: DOM查询与操作

DOM 的全称是文档对象模型(Document Object Model).它是 HTML 和 XML 文档的 API.它定义了文档的逻辑结构,以及对文档进行访问和操作的方式.通过 DOM,开发人员可以在文档中自由导航, 也可以添加.更新和删除其中的元素和内容.基本上文档中的任何内容都是可以通过 DOM 进行访问和操作的.本文详细介绍了如何使用 DOM 基本 API 和 Dojo 来进行 DOM 查询和操作.使用的 Dojo 版本是 1.4.下面首先介绍 DOM 的基本概念. DOM 基本概念

使用Dojo的Ajax应用开发进阶教程,第1部分

随着 Ajax 应用的流行,JavaScript 语言得到了越来越多的关注.开发人员对 JavaScript 的使用也日益深入. JavaScript 已经不再只是用来为页面添加一些花哨的效果,它已经成为构建 Ajax 应用的重要基石. JavaScript 作为一种专门设计用来在浏览器中执行的动态语言,它有许多重要的特性,并且不同于传统的 Java 或 C++ 语言.熟悉这些特性可以帮助开发者更好的开发 Ajax 应用.本文章介绍了 JavaScript 语言中十三个比较重要的特性,包括 pr

《Web前端开发精品课 HTML与CSS进阶教程》——第一部分 HTML进阶第01章 HTML基础知识1.1 HTML和CSS进阶简介

第一部分 HTML进阶 第01章 HTML基础知识 1.1 HTML和CSS进阶简介 1.1.1 你真的精通HTML和CSS吗 我们都知道,前端技术最核心的三大技术是HTML.CSS和JavaScript.HTML定义网页的结构,CSS定义网页的外观,而JavaScript定义页面的行为.其中HTML和CSS是前端技术中最基础的东西. HTML和CSS入门容易,精通却很难,特别是CSS."什么?精通很难?我很确定我已经精通CSS了啊!"这种话往往是出自学习三两个月.技术刚入门的人之口.

《Web前端开发精品课 HTML与CSS进阶教程》——1.2 HTML、XHTML和HTML5

1.2 HTML.XHTML和HTML5 很多新手往往分不清HTML.XHTML和HTML5,这一节给大家详细讲解一下这三者的关系和区别. 1.2.1 HTML和XHTML HTML,全称HyperText Mark-up Language(超文本标记语言),是构成网页文档的主要语言.我们常说的HTML指的是HTML 4.01. XHTML,全称EXtensible HyperText Mark-up Language(扩展的超文本标记语言),它是XML风格的HTML 4.01,我们可以称之为更