层叠样式表, 简称样式表, 是为网页添加样式的代码。本节将介绍 样式表 的基础知识,并解答类似问题:怎样将文本设置为黑色或红色?怎样将内容显示在屏幕的特定位置?怎样用背景图片或颜色来装饰网页?
样式表 究竟什么来头?
和超文本类似,样式表 也不是真正的编程语言,甚至不是标记语言。它是一门样式表语言,这也就是说人们可以用它来选择性地为 超文本 元素添加样式。举例来说,要选择一个 超文本 页面里所有的段落元素,然后将其中的文本改成红色,可以这样写 样式表:
.文本 {
颜色: 红;
}
- 编译运行,应该看到以下页面:
如果段落文字变红,那么祝贺你,你已经成功地迈出了 样式表 学习的第一步。
“样式表 规则集”详解
请仔细看一看 样式表:
整个结构称为 规则集(通常简称“规则”),各部分释义如下:选择器超文本 元素的名称位于规则集开始。它选择了一个或多个需要添加样式的元素(在这个例子中就是 段
元素)。要给不同元素添加样式只需要更改选择器就行了。声明一个单独的规则。如 颜色: 红;
用来指定添加样式元素的属性。属性改变 超文本 元素样式的途径。(本例中 颜
就是 <段>
元素的属性。)样式表 编写人员决定修改哪个属性以改变规则。属性的值在属性的右边,冒号后面即属性的值,它从指定属性的众多外观中选择一个值(我们除了 红
之外还有很多属性值可以用于 颜色
)。
注意其他重要的语法:
- 每个规则集(除了选择器的部分)都应该包含在成对的大括号里(
{}
)。 - 在每个声明里要用冒号(
:
)将属性与属性值分隔开。 - 在每个规则集里要用分号(
;
)将各个声明分隔开。
如果要同时修改多个属性,只需要将它们用分号隔开,就像这样:
样式.段落`
颜色: 红;
宽: 100%;
框: 1像素 实线 黑;
`
字体和文本
为文档体内的元素(<标题1>
、<序表项>
和 <段落>
)设置字号。将标题居中显示,并为正文设置行高和字间距,从而提高页面的可读性。
样式.标题1`
字体号: 50像素;
文对齐: 中;
`
样式.序表项`
字体号: 16像素;
行高: 2;
字间距: 1像素;
`
可以随时调整这些 像素
值来获得满意的结果,以下是大体效果:
一切皆盒子
编写 样式表 时你会发现,你的工作好像是围绕着一个一个盒子展开的——设置尺寸、颜色、位置,等等。页面里大部分 超文本 元素都可以被看作若干层叠的盒子。
并不意外,样式表 布局主要就是基于盒模型的。每个占据页面空间的块都有这样的属性:
内衬
:即内边距,围绕着内容(比如段落)的空间。框
:即边框,紧接着内边距的线。边缘
:即外边距,围绕元素外部的空间。
这里还使用了:
宽
:元素的宽度背景色
:元素内容和内边距底下的颜色颜色
:元素内容(通常是文本)的颜色文阴影
:为元素内的文本设置阴影显示
:设置元素的显示模式(暂略)
开始在页面中添加更多 样式表 吧!大胆将这些新规则都添加到页面的底部,而不要纠结改变属性值会带来什么结果。
更改颜色
样式.分区`
背景色: #00539F;
`
这条规则将整个背景颜色设置为 所计划的颜色。
文档体格式设置
样式.分区`
宽: 600素;
边缘: 0 自动;
背景色: #FF9500;
内衬: 0 20像素 20像素 20像素;
框: 5像素 实线 黑;
`
现在是 <分区>
元素。以上条声明,我们来逐条查看:
宽: 600像素;
—— 强制容永远保持 600 像素宽。边缘: 0 自动;
—— 为边缘
或内衬
等属性设置两个值时,第一个值代表元素的上方和下方(在这个例子中设置为0
),而第二个值代表左边和右边(在这里,自动
是一个特殊的值,意思是水平方向上左右对称)。你也可以使用一个,三个或四个值,参考 这里 。背景色: #FF9500;
—— 如前文所述,指定元素的背景颜色。我们给 容 用了一种略微偏红的橘色以与深蓝色的<分区>
元素形成反差,你也可以尝试其它颜色。内衬: 0 20像素 20像素 20像素;
—— 我们给内边距设置了四个值来让内容四周产生一点空间。这一次我们不设置上方的内边距,设置右边,下方,左边的内边距为20像素。值以上、右、下、左的顺序排列。框: 5像素 实线 黑;
—— 直接为 容 设置 5 像素的黑色实线边框。
定位页面主标题并添加样式
样式.标题1`
边缘: 0;
内衬: 20像素 0;
颜色: #00539F;
文阴影: 3像素 3像素 1像素 黑;
`
你可能发现了页面顶部有一个难看的间隙。那是因为浏览器会没有任何 样式表 的情况下给 <标题1>
等元素设置一些默认样式。但这并不是个好主意,但是我们希望一个没有任何样式的网页也有基本的可读性。为了去掉那个间隙,我们通过设置 边缘: 0;
覆盖掉默认样式。
至此,我们已经把标题的上下内边距设置为 20 像素,并且将标题文本与 超文本的背景颜色设为一致。
需要注意的是,这里使用了一个 文阴影
属性,它可以为元素中的文本提供阴影。四个值含义如下:
- 第一个值设置水平偏移值 —— 即阴影右移的像素数(负值左移)。
- 第二个值设置垂直偏移值 —— 即阴影下移的像素数(负值上移)。
- 第三个值设置阴影的模糊半径 —— 值越大产生的阴影越模糊。
- 第四个值设置阴影的基色。
不妨尝试不同的值看看能得出什么结果。
图像居中
样式.图像`
显示: 块;
边缘: 0 自动;
`
最后,我们把图像居中来使页面更美观。可以复用 容 的 边缘: 0 自动
,但是需要一点点调整。 <分区>
元素是块级元素,意味着它占据了页面的空间并且能够赋予外边距和其他改变间距的值。而图片是内联元素,不具备块级元素的一些功能。所以为了使图像有外边距,我们必须使用 显示: 块
给予其块级行为。
注:以上说明假定所选图片小于页面宽度(600 像素)。更大的图片会溢出 分区 并占据页面的其他位置。要解决这个问题,可以:
1)使用 图片编辑器 来减小图片宽度;
2)用 样式表 限制图片大小,即减小 <图像>
元素 宽
属性的值(比如 400 像素
)。
注:如果你暂时不能理解 显示: 块
和块级元素与行内元素的差别也没关系;随着你对 样式表 学习的深入,你将明白这个问题。显示
属性的更多信息请查看 参考页面 。
小结
如果你按部就班完成本文的实践,那么最终可以得到以下页面(可以 查看我们的版本):
若遇到问题,可以参考 君土 上的 完整示例代码 做对比。
本章介绍的 样式表 知识非常有限,更多内容请访问 样式表学习页面。