3.3 如何创建CSS
当读到一个样式表时,浏览器会根据它来格式化HTML文档。插入样式表的方法有四种。
3.3.1 外部样式表
当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,可以通过改变一个文件来改变整个站点的外观。每个页面使用<link>标签链接到样式表,<link>标签在HTML文档的头部。
例3-2:

浏览器会从文件mystyle.css中读到样式声明,并根据它来格式化文档。
外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何HTML标签。样式表应该以.css扩展名进行保存。下面是一个样式表文件的例子:
例3-3:

注意:不要在属性值与单位之间留空格。假如使用“margin-left:20 px”,它仅在IE 6中有效,在Mozilla/Firefox或者Netscape中都无法正常工作。
3.3.2 内部样式表
当单个文档需要特殊的样式时,就应该使用内部样式表。使用<style>标签在HTML文档头部定义内部样式表。
例3-4:

3.3.3 内联样式
要使用内联样式,需要在相关的标签内使用样式(style)属性。style属性可以包含任何CSS属性。由于要将表现和内容混杂在一起,内联样式会损失样式表的许多优势。本例展示如何改变段落的颜色和左外边距。
例3-5:

3.3.4 多重样式
如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。例如,外部样式表拥有针对h3选择器的三个属性。
例3-6:

而内部样式表拥有针对h3选择器的两个属性:

假如拥有内部样式表的这个页面同时与外部样式表链接,那么h3最终得到的样式是:

即颜色属性将继承于外部样式表,而文字排列(text-alignment)和字体尺寸(font-size)会被内部样式表中的规则取代。