本节以实例的形式讲解如何为一个网页添加css样式。
本节将介绍将样式表加入到页面中的几种不同方法。
内部样式表
其实我们在前两节已经应用了内部样式表。内部样式表需要在网页的<head>部分定义,格式如下:
<head>
<style type="text/css">
/*符合CSS语法结构的CSS语句,例如*/
body { background-color: blue; }
</style>
</head>
行内样式表(内嵌样式表)
它的使用方法我们在前两节也已经使用过了。行内样式表直接在标签内部定义,使用style属性,写法如下:
<标签 style="符合CSS语法结构的CSS语句">
例如:
<p style="text-indent:24px;">段落内容</p>
外部样式表
使用外部样式表时,CSS文件与网页文件(html)是分离开来的。要让某一个网页调用一个外部CSS文件,你需要在网页的<head>部分插入以下内容:
<head>
<link rel="stylesheet" type="text/css"
href="文件位置/你的CSS文件名.css" />
/*文件位置就是所处在的文件夹相对与当前网页的相对路径*/
</head>
下面我们以一个实例来看看如何使用外部样式表:
请看下面这个网页文件,红色部分的内容为网页链入了一个CSS样式表文件“waibu.css”,网页和CSS文件的源代码分别如下:
层叠的意义
当我们为同一个标签多次设置样式表的时候,这些样式表会最终层叠成一个样式表来作用于标签。例如,你在外部样式表中为p定义了如下样式:
而在内部样式表中又定义了如下样式:
那么最终网页内p标签的样式将为: p { text-align: left;text-indent: 24px;}。
几种样式表的优先级
上面的两个样式表的层叠比较好理解,两个样式表分别定义了一个标签的不同属性。但是如果外部样式表与内部样式表同时定义了一个属性呢?看下面的例子。
外部样式表的内容:
内部样式表的内容:
最终页面中的段落将是左对齐,也就是说如果你试图对同一标签的同一属性多次定义,那么内部样式表的定义将要覆盖外部样式表的定义。这是因为内部样式表的优先级高于外部样式表。三种样式表的优先级由高到低排列如下:
1.行内样式表(内嵌样式表)
2.内部样式表
3.外部样式表
4.补充规则:优先级相同的情况下,后定义的属性会覆盖先前定义的。
5.其他高级规则:CSS中的important!是比较实用的技巧。