使用本主题了解 CSS 规则、选择器、继承等 CSS 基本概念。此外,还可了解在 Dreamweaver 中如何才能将 CSS 与网页关联。

关于层叠样式表

层叠样式表 (CSS) 是一组格式设置规则,用于控制网页内容的外观。通过使用 CSS 样式设置页面的格式,可将页面的内容与表示形式分离开。页面内容(即 HTML 代码)存放在 HTML 文件中,而用于定义代码表示形式的 CSS 规则存放在另一个文件(外部样式表)或 HTML 文档的另一部分(通常为文件头部分)中。将内容与表示形式分离可使得从一个位置集中维护站点的外观变得更加容易,因为进行更改时无需对每个页面上的每个属性都进行更新。将内容与表示形式分离还会可以得到更加简练的 HTML 代码,这样将缩短浏览器加载时间,并为存在访问障碍的人员(例如,使用屏幕阅读器的人员)简化导航过程。

使用 CSS 可以非常灵活并更好地控制页面的确切外观。使用 CSS 可以控制许多文本属性,包括特定字体和字大小;粗体、斜体、下划线和文本阴影;文本颜色和背景颜色;链接颜色和链接下划线等。通过使用 CSS 控制字体,还可以确保在多个浏览器中以更一致的方式处理页面布局和外观。

除设置文本格式外,还可以使用 CSS 控制网页面中块级别元素的格式和定位。块级元素是一段独立的内容,在 HTML 中通常由一个新行分隔,并在视觉上设置为块的格式。例如,h1 标签、p 标签和 div 标签都在网页面上产生块级元素。可以对块级元素执行以下操作:为它们设置边距和边框、将它们放置在特定位置、向它们添加背景颜色、在它们周围设置浮动文本等。对块级元素进行操作的方法实际上就是使用 CSS 进行页面布局设置的方法。

关于 CSS 规则

CSS 格式设置规则由两部分组成:选择器和声明(大多数情况下为包含多个声明的代码块)。选择器是标识已设置格式元素的术语(如 ph1 类名称或 ID),而声明块则用于定义样式属性。在下面的示例中,h1 是选择器,介于大括号 ({}) 之间的所有内容都是声明块:

h1 { 
font-size: 16 pixels; 
font-family: Helvetica; 
font-weight:bold; 
}

各个声明由两部分组成:属性(如 font-family)和值(如 Helvetica)。在前面的 CSS 规则中,已经为 h1 标签创建了特定样式:所有链接到此样式的 h1 标签的文本将为 16 像素大小的 Helvetica 粗体。

样式(由一个规则或一组规则决定)存放在与要设置格式的实际文本分离的位置(通常在外部样式表或 HTML 文档的文件头部分中)。因此,可以将 h1 标签的某个规则一次应用于许多标签(如果在外部样式表中,则可以将此规则一次应用于多个不同页面上的许多标签)。通过这种方式,CSS 可提供非常便利的更新功能。若在一个位置更新 CSS 规则,使用已定义样式的所有元素的格式设置将自动更新为新样式。

CSS 文件, 网页

可在 Dreamweaver 中定义以下几种类型的样式:

  • 类样式,用于将样式属性应用于页面上的任何元素。

  • HTML 标签样式 重新定义特定标签(如 h1)的格式。创建或更改 h1 标签的 CSS 样式时,所有用 h1 标签设置了格式的文本都会立即更新。

  • 高级样式 重新定义特定元素组合的格式,或其它 CSS 允许的选择器表单的格式(例如,每当 h2 标题出现在表格单元格内时,就会应用选择器 td h2)。高级样式还可以重定义包含特定 id 属性的标签的格式(例如,由 #myStyle 定义的样式可以应用于所有包含属性/值对 id="myStyle" 的标签)。

CSS 规则可以位于以下位置:

外部 CSS 样式表

存储在一个单独的外部 CSS (.css) 文件(而非 HTML 文件)中的若干组 CSS 规则。此文件利用文档头部分的链接或 @import 规则链接到网站中的一个或多个页面。

内部(或嵌入式)CSS 样式表

若干组包括在 HTML 文档头部分的 style 标签中的 CSS 规则。

内联样式

在整个 HTML 文档中的特定标签实例内定义。(不建议使用内联样式。)

Dreamweaver 可识别现有文档中定义的样式(只要这些样式符合 CSS 样式准则)。Dreamweaver 还可在“设计”视图中直接呈现大多数已应用的样式。(不过,在浏览器窗口中预览文档将使您能够获得最准确的页面“动态”呈现。) 有些 CSS 样式在 Microsoft Internet Explorer、Netscape、Opera、Apple Safari 或其它浏览器中呈现的外观不相同,而有些 CSS 样式目前不受任何浏览器支持。

关于层叠样式

术语层叠 是指浏览器最终为网页上的特定元素显示样式的方式。三种不同的源决定了网页上显示的样式:由页面的作者创建的样式表、用户的自定义样式选择(如果有)和浏览器本身的默认样式。以上主题说明作为网页及附加到该页的样式表的作者来创建网页的样式。但是,浏览器也具有它们自己的默认样式表来指定网页的呈现方式,除此之外,用户还可以通过选择来调整网页的显示对浏览器进行自定义。网页的最终外观是由所有这三种源的规则共同作用(或者“层叠”)的结果,最后以最佳方式呈现网页。

一个常见标签(段落标签,即 <p> 标签)可说明此概念。默认情况下,浏览器自带有为段落文本(即位于 HTML 代码中 <p> 标签之间的文本)定义字体和字体大小的样式表。例如在 Internet Explorer 中,包括段落文本在内的所有正文文本都默认显示为 Times New Roman 中等字体。

但是作为网页的作者,您可以为段落字体和字体大小创建能覆盖浏览器默认样式的样式表。例如,您可以在样式表中创建以下规则:

p { 
font-family: Arial; 
font-size: small; 
}

当用户加载页面时,作者设置的段落字体和字体大小设置取代浏览器的默认段落文本设置。

用户可以选择以最佳方式自定义浏览器显示,以方便他们自己使用。例如在 Internet Explorer 中,如果用户认为页面字体太小,则他们可以选择“查看”>“文字大小”>“最大”将页面字体扩展到更易辨认的大小。最终(至少在这种情况下),用户的选择将覆盖段落字体大小的浏览器默认样式和网页作者创建的段落样式。

继承性是层叠的另一个重要部分。网页上的大多数元素的属性都是继承的;例如,段落标签从 body 标签中继承某些属性,span 标签从段落标签中继承某些属性,等等。因此,如果在样式表中创建以下规则:

body { 
font-family: Arial; 
font-style: italic; 
}

网页上的所有段落文本(以及从段落标签继承属性的文本)都会是 Arial 斜体,因为段落标签从 body 标签中继承了这些属性。但是,您可以使您的规则更具体,并创建一些能覆盖标准继承公式的样式。例如,如果在样式表中创建以下规则:

body { 
font-family: Arial; 
font-style: italic; 
} 
p { 
font-family: Courier; 
font-style: normal; 
}

所有正文文本将是 Arial 斜体,但段落(及其继承的)文本除外,它们将显示为 Courier 常规(非斜体)。从技术上来说,段落标签首先继承为 body 标签设置的属性,但是随后将忽略这些属性,因为它具有本身已定义的属性。换句话说,虽然页面元素通常从上级继承属性,但是直接将属性应用于标签时始终会导致覆盖标准继承公式。

结合上述的所有因素,加上其它因素(如 CSS 具体程度,一种为特殊类型的 CSS 规则指定不同权重的体系)以及 CSS 规则的顺序,最终会创建一个复杂的层叠,其中优先级较高的项会覆盖优先级较低的属性。有关控制层叠、继承性和具体程度的规则的详细信息,请访问 www.w3.org/TR/CSS2/cascade.html

关于文本格式设置和 CSS

默认情况下,Dreamweaver 使用层叠样式表 (CSS) 设置文本格式。您使用属性检查器或菜单命令应用于文本的样式将创建 CSS 规则,这些规则嵌入在当前文档的头部。

您还可以使用“CSS Designer”创建和编辑 CSS 规则和属性。“CSS Designer”是一个比属性检查器强大得多的编辑器,它会显示为当前文档定义的所有 CSS 规则(无论这些规则是嵌入在文档头中还是在外部样式表中)。Adobe 建议使用“CSS Designer”(而不是属性检查器)作为创建和编辑 CSS 的主要工具。这样,您的代码将更清晰,更易于维护。

有关 CSS Designer 的更多信息,请参阅使用 CSS Designer 对页面进行布局

除了所创建的样式和样式表外,还可使用 Dreamweaver 附带的样式表将样式应用于文档。

有关使用 CSS 设置文本格式的教程,请访问 www.adobe.com/go/vid0153_cn

关于速记 CSS 属性

CSS 规范支持使用称作速记 CSS 的简略语法创建样式。速记 CSS 使您可以用一个声明指定多个属性的值。例如,font 属性可以使您在同一行中设置font-stylefont-variantfont-weightfont-sizeline-height 以及 font-family 属性。

使用速记 CSS 时需要注意的关键问题是速记 CSS 属性省略的值会被指定为属性的默认值。当两个或多个 CSS 规则指定给同一标签时,这可能会导致页面无法正确显示。

例如,下面显示的 h1 规则使用了普通的 CSS 语法。请注意,已经为 font-variantfont-stretchfont-size-adjustfont-style 属性分配了默认值。

h1 { 
font-weight: bold; 
font-size: 16pt; 
line-height: 18pt; 
font-family: Arial; 
font-variant: normal; 
font-style: normal; 
font-stretch: normal; 
font-size-adjust: none 
}

改写为一个速记属性后,同一规则可变为如下形式:

h1 { font: bold 16pt/18pt Arial }

使用速记符号编写时,会自动将省略的值指定为它们的默认值。因此,上述速记示例省略了 font-variantfont-stylefont-stretchfont-size-adjust 标签。

如果同时使用 CSS 语法的短格式和长格式在多个位置定义了样式(如在 HTML 页面中嵌入样式并从外部样式表导入样式),则一定要注意,速记规则中省略的属性可覆盖(即层叠)其他规则中明确设置的属性。

因此,Dreamweaver 默认情况下使用 CSS 符号的普通形式。这样可以防止能够覆盖普通规则的速记规则所引起的潜在问题。在 Dreamweaver 中打开使用速记 CSS 符号编写代码的网页时,请注意 Dreamweaver 将会使用普通形式创建所有新 CSS 规则。通过更改“首选参数”对话框(在 Windows 中选择“编辑”>“首选参数”;在 Macintosh 中选择“Dreamweaver”>“首选参数”)中“CSS 样式”类别中的 CSS 编辑首选参数,可以指定 Dreamweaver 创建和编辑 CSS 规则的方式。

Dreamweaver 和 CSS

在 Dreamweaver 中,您可以使用多种方式处理 CSS:

  • 您可以使用 CSS Designer 以最小编码构建 CSS。有关详细信息,请参阅使用 CSS Designer 进行页面布局
  • 您还可以手动编写 CSS。有关 Dreamweaver 编码功能的详细信息,请参阅 Dreamweaver 中的编码环境
  • 如果您希望使用 Sass、Scss 或 Less 文件,您可以在 Dreamweaver 中使用您偏好的句法编码文件并使用它。有关详细信息,请参阅 CSS 预处理器

本产品经 Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License 许可  Twitter™ 与 Facebook 中的内容不在 Creative Commons 的条款约束之下。

法律声明   |   在线隐私策略