W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

CSS 创建



当浏览器读取样式表时,它将根据样式表中的信息格式化HTML文档。


如何插入样式表

插入样式表的方法有三种:

  • 外部样式表
  • 内部样式表
  • 内联样式

外部样式表

使用外部样式表,你只需更改一个文件即可更改整个网站的外观!

每个页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部:

Example

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
尝试一下 »

外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以 .css 扩展名进行保存。下面是一个样式表文件的例子:

这有一个名称为 "myStyle.css" 的样式表,内部代码如下:

body {
    background-color: lightblue;
}

h1 {
    color: navy;
    margin-left: 20px;
}
Note 不要在属性值与单位之间留有空格。假如你使用 margin-left: 20 px 而不是 margin-left: 20px ,它仅在 IE 6 中有效,但是在 Mozilla/Firefox 或 Netscape 中却无法正常工作。

内部样式表

当单个文档需要特殊的样式时,就应该使用内部样式表。

你可以使用 <style> 标签在文档头部定义内部样式表,就像这样:

Example

<head>
<style>
body {
    background-color: linen;
}

h1 {
    color: maroon;
    margin-left: 40px;
}
</style>
</head>
尝试一下 »

内联样式

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。本例展示如何改变段落的颜色和左外边距:

Example

<h1 style="color:blue;margin-left:30px;">This is a heading.</h1>
尝试一下 »
Note 内联样式失去样式表的许多优点(通过混合内容与呈现)。 谨慎使用此方法!

多重样式

如果某些属性在不同的样式表中被同样的选择器定义,那么属性值将从更具体的样式表中被继承过来。

Example

假设外部样式表对于 <h1> 元素具有以下样式:

h1 {
    color: navy;
}

那么,假设内部样式表对于 <h1> 元素也有以下样式:

h1 {
    color: orange;   
}

如果内部样式是在链接到外部样式表之后定义的,则 <h1> 元素将为 "orange":

Example

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
<style>
h1 {
    color: orange;
}
</style>
</head>
尝试一下 »

但是,如果内部样式在链接到外部样式表之前定义,则 <h1> 元素将为 "navy":

Example

<head>
<style>
h1 {
    color: orange;
}
</style>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
尝试一下 »

层叠次序

当同一个 HTML 元素被不止一个样式定义时,会使用哪个样式呢?

一般来说,我们可以说,所有的样式将通过以下规则“级联”成一个新的“虚拟”样式表,其中第一个具有最高优先级:

  1. 内联样式(在 HTML 元素内部)
  2. 外部和内部样式表(在头部)
  3. 浏览器默认值

因此,内联样式(在 HTML 元素内部)拥有最高的优先权,这意味着它将优先于以下的样式声明: 标签中的样式声明,外部样式表中的样式声明,或者浏览器中的样式声明(缺省值)。

尝试一下 »