CSS 样式

要想在浏览器中显示出预期的CSS样式表效果,就要让浏览器识别并正确调用CSS。当浏览器读取样式表时,要依照文本格式来读,这里介绍四种在页面中插入CSS样式表的方法:链入外部样式表、内部样式表、导入外表样式表和内嵌样式。

1. 链入外部样式表

链入外部样式表是把样式表保存为一个样式表文件,然后在页面中用<link>标记链接到这个样式表文件,这个<link>标记必须放到页面的<head>区内,如下:

<head> 

…… 
<link href="mystyle.css" rel="stylesheet" type="text/css" media="all"> 
…… 
</head>

    上面这个例子表示浏览器从mystyle.css文件中以文档格式读出定义的样式表。rel=”stylesheet”是指在页面中使用这个外部的样式表。type=”text/css”是指文件的类型是样式表文本。href=”mystyle.css”是文件所在的位置。media是选择媒体类型,这些媒体包括:屏幕,纸张,语音合成设备,盲文阅读设备等。

  一个外部样式表文件可以应用于多个页面。当你改变这个样式表文件时,所有页面的样式都随之而改变。在制作大量相同样式页面的网站时,非常有用,不仅减少了重复的工作量,而且有利于以后的修改、编辑,浏览时也减少了重复下载代码。

注意 

样式表文件可以用任何文本编辑器(例如:记事本)打开并编辑,一般样式表文件扩展名为.css。内容是定义的样式表,不包含HTML标记,mystyle.css这个文件的内容如下:

hr {color: sienna} 

p {margin-left: 20px} 

body {background-image: url("images/back40.gif")} 
/*定义水平线的颜色为土黄;段落左边的空白边距为20象素;页面的背景图片为images目录下的back40.gif文件*/


2.内部样式表

内部样式表是把样式表放到页面的<head>区里,这些定义的样式就应用到页面中了,样式表是用<style>标记插入的,从下例中可以看出<style>标记的用法:

<head> 

…… 
<style type="text/css"> 
hr {color: sienna} 
p {margin-left: 20px} 
body {background-image: url("images/back40.gif")} 
</style> 
…… 
</head>

   


 3. 导入外部样式表 

导入外部样式表是指在内部样式表的<style>里导入一个外部样式表,导入时用@import,看下面这个实例:

<head> 

…… 
<style type=”text/css”> 
<!-- 
@import “mystyle.css” 
其他样式表的声明 
--> 
</style> 
…… 
</head>

    例中@import “mystyle.css”表示导入mystyle.css样式表,注意使用时外部样式表的路径。方法和链入样式表的方法很相似,但导入外部样式表输入方式更有优势。实质上它相当于存在内部样式表中的。 

注意:导入外部样式表必须在样式表的开始部分,在其他内部样式表上面。



4. 内嵌样式

  内嵌样式是混合在HTML标记里使用的,用这种方法,可以很简单的对某个元素单独定义样式。内嵌样式的使用是直接将在HTML标记里加入style参数。而style参数的内容就是CSS的属性和值,如下例:

<p style="color: sienna;margin-left: 20px;"> 

这是一个段落 
</p> 

<!--这个段落颜色为土黄,左边距为20象素-->

在style参数后面的引号里的内容相当于在样式表大括号里的内容。 

注意:style参数可以应用于任意BODY内的元素(包括BODY本身),除了BASEFONT、PARAM和SCRIPT。



多重样式表的叠加

  CSS样式表有层叠顺序,这里我们讨论插入样式表的这几种方法的叠加,如果在同一个选择器上使用几个不同的样式表时,这个属性值将会叠加几个样式表,遇到冲突的地方会以最后定义的为准。例如,我们首先链入一个外部样式表,其中定义了h3选择符的color 、text-alig和font-size属性:

h3 


color: red; 
text-align: left; 
font-size: 8pt; 

/*标题3的文字颜色为红色;向左对齐;文字尺寸为8号字*/

    然后在内部样式表里也定义了h3选择符的text-align和font-size属性:

h3 


text-align: right; 
font-size: 20pt; 

/*标题3文字向右对齐;尺寸为20号字*/

    那么这个页面叠加后的样式就是:

color: red; 

text-align: right; 

font-size: 20pt; 
/*文字颜色为红色;向右对齐;尺寸为20号字*/

字体颜色从外部样式表里保留下来,而对齐方式和字体尺寸都有定义时,按照后定义的优先而依照内部样式表。 


层叠次序

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

一般而言,所有的样式会根据下面的规则层叠于一个新的虚拟样式表中,其中数字 4 拥有最高的优先权。

1. 浏览器缺省设置

2. 外部样式表

3. 内部样式表(位于 <head> 标签内部)

4. 内联样式(在 HTML 元素内部)

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




继续学习
||
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <style> *{ margin:0; padding:0; } body{ background-color:gray; } .clear{ clear:both; } /*head*/ #head{ background-color:blue; height:150px; } /*container*/ #container{ background-color:red; width:360px; height:200px; margin:20px auto; } /*content*/ #content{ background-color:yellow; float:left; width:185px; height:100%; } /*side*/ #side{ background-color:green; float:right; width:255px; height:100%; } /*foot*/ #foot{ background-color:white; height:150px; width:360px; margin:20px auto; } </style> </head> <body> <!-- 头部 --> <div id="head"> </div> <!--END 头部 --> <!-- 主容器 --> <div id="container"> <!-- 左侧主显区 --> <div id="content"> </div> <!-- END 左侧主显区 --> <!-- 右侧边栏 --> <div id="side"> </div> <!-- END 右侧边栏 --> </div> <!-- END 主容器 --> <div class="clear"></div> <!-- 底部 --> <div id="foot"> </div> <!-- END 底部 --> </body> </html>
提交重置代码