1. 如何插入样式表
1.1. 插入样式表的方法有三种: 外部样式表, 内部样式表和内联样式。
1.2. 外部样式表
1.2.1. 当样式需要应用于很多页面时, 外部样式表将是理想的选择。在使用外部样式表的情况下, 你可以通过改变一个文件来改变整个站点的外观。每个页面使用标签链接到样式表。标签在文档的头部:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
1.2.2. 浏览器会从文件mystyle.css中读到样式声明, 并根据它来格式文档。
1.2.3. 外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的html标签。样式表应该以.css扩展名进行保存。下面是一个样式表文件的例子:
hr {
color: sienna;
}
p {
margin-left: 20px;
}
body {
background-image: url("images/back40.gif");
}
1.3. 内部样式表
1.3.1. 当单个文档需要特殊的样式时, 就应该使用内部样式表。你可以使用
<head>
<style type="text/css">
hr {
color: sienna;
}
p {
margin-left: 20px;
}
body {
background-image: url("images/back40.gif");
}
</style>
</head>
1.4. 内联样式
1.4.1. 要使用内联样式, 你需要在相关的标签内使用样式(style)属性。style属性可以包含任何CSS属性。本例展示如何改变段落的颜色和左外边距:
<p style="color: sienna; margin-left: 20px;">This is a paragraph</p>
1.4.2. 由于要将表现和内容混杂在一起, 内联样式会损失掉样式表的许多优势。请慎用这种方法, 例如当样式仅需要在一个元素上应用一次时。
2. 多重样式将层叠为一个
2.1. 如果某些相同的属性在不同的样式表中定义同一个html元素, 那么属性值将从更具体的样式表中被继承过来。
2.1.1. 内部样式表, 设置h3元素字体颜色为红色
h3 {
color: red;
}
2.1.2. 内联样式表, 设置h3元素字体颜色为蓝色
<h3 style="color: blue">多重样式表</h3>
2.1.3. h3元素的字体颜色将从更具体的内联样式表中继承过来, 也就是蓝色。
2.2. 当同一个html元素的多种属性在不止一个样式表中定义时, 会使用哪个样式呢?
2.2.1. 一般而言, 所有的样式会根据下面的规则层叠于一个新的虚拟样式表中, 其中内联样式拥有最高的优先权。优先级有高到低排列如下:
- 内联样式(在html元素内部)
- 外部样式表(位于CSS文件中)和内部样式表(位于style标签内部)
- 浏览器缺省设置
2.2.2. 例如, 外部样式表mystyle.css拥有针对h3选择器的两个属性:
h3 {
color: red;
text-align: left;
}
而内部样式表拥有针对h3选择器的两个属性:
h3 {
text-align: right;
background-color: blue;
}
假如拥有内部样式表的这个页面同时与外部样式表链接, 并且在
标签内, 外部样式表位于内部样式表之前:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
<style type="text/css">
h3 {
text-align: right;
background-color: blue;
}
</style>
</head>
那么h3得到的样式如下, 即文本的颜色属性将继承于外部样式表, 而文本水平对齐方式和文本的背景颜色属性将继承于内部样式表:
color: red;
text-align: right;
background-color: blue;
假如拥有内部样式表的这个页面同时与外部样式表链接, 并且在
标签内, 外部样式表位于内部样式表之后:
<head>
<style type="text/css">
h3 {
text-align: right;
background-color: blue;
}
</style>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
</head>
那么h3得到的样式如下, 即文本的颜色和文本水平对齐方式属性将继承于外部样式表, 而文本的背景颜色属性将继承于内部样式表:
color: red;
text-align: left;
background-color: blue;
3. CSS中的注释
3.1. 开始一个正斜杠, 需要紧跟一个星号; 结束正斜杠之前需要一个星号。
3.2. Sublime中注释快捷键: Ctrl + /。
3.3. 实例
hr {
color: sienna;
}
p {
margin-left: 20px;
}
/*CSS中的注释: 开始一个正斜杠, 需要紧跟一个星号; 结束正斜杠之前需要一个星号。
Sublime中注释快捷键: Ctrl + /。*/
body {
background-image: url("images/back40.gif");
}
4. 例子
4.1. mystyle.css
h3 {
color: red;
text-align: left;
}
4.2. 代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>多重样式表</title>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
<style type="text/css">
h3 {
text-align: right;
background-color: blue;
}
</style>
</head>
<body>
<h3>多重样式表</h3>
</body>
</html>
4.3. 效果图