CSS:Cascading Style Sheets 层叠样式表
在html里面使CSS生效有三种方式:内嵌(embedded)、外部链接(link标签)、内联(inline),内嵌和创建外部链接都必须写在HTML的头部(head)里面,内联样式(incline style)是利用HTML中标签的style属性来达成。
1 内嵌
在HTML的 <head></head>之间,创建一个<style></style>标签对,然后将CSS写入其中,如:
<head>
<title>CSS</title>
<meta charset="utf-8">
<style type="text/css">
p{color: red;}
</style>
</head>
2 外部链接
2.1 <link>
在HTML的 <head></head>标签对中使用HTML的<link>标签链接到一个外部的css文件
语法为:
<link rel="stylesheet" type="text/css" herf="http://your url.com/sheet.css"/>
2.2 @import
在<style></style>标签对中使用@import
链接到一个外部的css文件
语法:
@import url();
而@import
必须写在<style>的最前面,后面再跟其他的样式属性,如:
<style type="text/css">
@import url(www.url.com/temp.css);
p{color:red;}
h1{font:150%;}
</style>
如果没有在最前面,则@import
链接的样式表不能生效。
与<link>标签的区别是,@import
可以写在css文件中,因为css文件不能包含其他任何文档标记,但是可以在任何css外部文件里面使用@import
来链接到另外一个css外部文件,举例如下:
<head>
<title>temp</title>
<link rel="stylesheet" type="text/css" href="temp2.css">
</head>
temp2.css为
@import url("temp3.css");/*或可以写成@import url(temp3.css)即不带引号,不会影响结果*/
p{color: red;}
temp3.css为
h1{color: green;}
经过验证,等同于如下的效果:
<style type="text/css">
p{color: red;}
h1{color: green;}
</style>
和<link>一样,一个HTML文档里可以有多个@import
,此外,@import
无法指定候选样式表
网上有帖子谈到了@import
会在一定程度上造成页面加载上的延迟,见(http://www.kuqin.com/webpagedesign/20090429/48868.html)因此不推荐用此方法加载样式表
3 内联(inline)
利用HTML的style
属性,为除了<body>之外出现的任意标签来设置样式,这样子只能为单一元素指定一些样式,举例:
<p style="color:red;">Temp</p>/*用双引号而不是大括号*/
HTML的style
属性一定程度上会削弱css组织管理文档的树形结构,所以也不推荐。
参考: 《CSS: The Definitive Guide》 第三版