网页引入CSS的四种方式
一、使用STYLE属性: 将STYLE属性直接加在个别的元件标签里。 ?
<元件(标签) STYLE="性质(属性)1: 设定值1; 性质(属性)2: 设定值2; ...}?
例如: ?
<TD STYLE="COLOR:BLUE; font-size:9pt; font-family:"标楷体"; line-height:150%>?
这种用法的优点 是可灵巧应用样式於各标签中,但是缺点则是没有整篇文件的『统一性』。?
二、使用STYLE标签: 将样式规则写在<STYLE>...</STYLE>标签之中。 ?
<STYLE TYPE="text/css">?
<!--?
样式规则表?
--> ?
</STYLE>?
例如: ?
<STYLE TYPE="text/css">?
<!--?
BODY {?
color: BLUE;?
background: #FFFFCC;?
font-size: 9pt}?
TD, P {?
COLOR: GREEN;?
font-size: 9pt}?
-->?
</STYLE>?
通常是将整个的 <STYLE>...</STYLE>结构写在网页的<HEAD> </HEAD>部份之中。这种用法的优点就是在於整篇文件的统一性,只要是有声明的的元件即会套用该样式规则。缺点就是在个别元件的灵活度不足。?
三、使用 LINK标签: 将样式规则写在.css的样式档案中,再以<LINK>标签引入。 ?
假设我们把样式规则存成一个example.css的档案,我们只要在网页中加入?
<LINK REL=STYLESHEET TYPE="text/css" HREF="example.css">?
即可套用该样式档案中所制定好的样式了。 通常是将LINK标签写在网页的<head></head>部份之中。这种用法的优点就是在於可以把要套用相同样式规则的数篇文件都指定到同一个样式档案即可。缺点也是在个别文件或元件的灵活度不足。 ?
四、使用@import引入: 跟LINK用法很像,但必放在<STYLE>...</STYLE> 中。 ?
<STYLE TYPE="text/css">?
<!--?
@import url(引入的样式表的位址、路径与档名);?
-->?
</STYLE> ?
例如: ?
<STYLE TYPE="text/css">?
<!--?
@import url(http://yourweb/ example.css);?
-->?
</STYLE>?
要注意的是,行末的分号是绝对不可少的!?
PS:
问题1.到底link和@import有什么区别?
我们先来看看他们的定义
link元素
HTML和XHTML都有一个结构,它使网页作者可以增加于HTML文档相关的额外信息。这些额外资源可以是样式化信息(CSS)、导航助手、属于另外形式的信息(RSS)、联系信息等等。
@import
指定导入的外部样式表及目标设备类型。
其实link和@import的最根本区别就是,
link是一个html的一个标签,而@import是css的一个标签,
link除了调用CSS外还可以有其他作用譬如声明页面链接属性,声明目录,rss等等,而@import就只能
调用CSS。如果单独从外部引用CSS来说,他们的作用是基本一样,只不过上面的老大不一样而已。:)
问题2.link合import到底那个更好?
上面说了因为上面的老大不一样,所以在使用上就会有一些细节的区别,不能说总体谁好谁坏,
只能说具体情况具体分析。
1)我要用javascript进行样式选择;
这个时候就要用link,因为link是html元素,可用javascript去控制dom元素最后达到改变样式的效果。
看下列代码
<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/orange.css" type="text/css" media="screen" title="orange" />
<link rel="alternate stylesheet" href="/css/blue.css" type="text/css" media="screen" title="blue" />
<link rel="alternate stylesheet" href="/css/pink.css" type="text/css" media="screen" title="pink" />
<link rel="alternate stylesheet" href="/css/slate.css" type="text/css" media="screen" title="slate" />
这是一段很经典的改变页面风格的代码,因为我们今天主要讲的是link和import,所以我这里只列出了引用CSS部分。
我们先来看看link里面个个属性都是表达了什么意思:
[1]rel:用来声明链接对象的作用或者类型。
譬如上面的的代码:"stylesheet"表示链接一个默认的CSS,而"alternate stylesheet"折表示备选的CSS
[2]href:这个就不用我说了吧,引用CSS的文件路径。
[3]tyle:文件类型
[4]media:应用的设备,"screen"是说明应用在屏幕上。
[5]title:是CSS的名称。
这段代码中一共有5个CSS,第一个是基本样式,而其他四个是风格样式,利用javascript去控制默认显示的样式title就ok了。
2)我要在应用打印样式;
打印样式顾名思义就是打印页面时候的样式。
这个样式在普通浏览下是没有效果的,只有在打印的时候生效。
如果要为页面单独引用打印样式的话,link和@import都可以的。
link代码
<link rel="stylesheet" href="/css/styles.css" type="text/css" media="print" />
@import代码
<style type="text/css">
@import url(foo.css) print;
</style>
另外对于CSS来说还有一种方式@media:
@media print {
@import "print.css"
}
用@media先制定设备为 print,然后再用@impor链接
3)我要引用多个样式;
如果要在一个页面上引用多个样式组合产生效果的话,永link和@import也是都可以的。
link代码
<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
<link rel="stylesheet" href="/css/orange.css" type="text/css" media="screen" />
@import代码
<style type="text/css">
?? ? @import url(../css/base/my.layout.css);
?? ? @import url(../css/base/my.typo.css);
?? ?</style>
不过个人觉得,用@import引用多文件的时候更加清晰一些
另外对于多样式还有一种link于@import的组合用法。
先用link引用一个CSS文件
<link rel="stylesheet" href="/css/styles.css" type="text/css" media="screen" />
然后在这个CSS文件里面再引用。
<style type="text/css">
?? ? @import url(../css/base/my.layout.css);
?? ? @import url(../css/base/my.typo.css);
?? ?</style>
这样做的好处是,如果你一个站点所有页面引用的样式都是一样的,
而有又多个CSS,如果你每个页面都加4,5个一样的CSS样式,却是浪费代码和精力,
所以莫不如这样做,所有一个页面都引用一个CSS,然后一个CSS在引用多个CSS,方便
管理和维护。