CSS样式表文件是使用link来调用单独的文件好呢,还是直接用<style>......</style>嵌入页面内部好呢?或者说究竟这两种方法该怎么使用呢?
w3cn的阿捷说,在以前,我们通常采用2种方法使用样式表:
页面内嵌法:就是将样式表直接写在页面代码的head区。类似这样:
Example Source Code []
<style type=\"text/css\">
<!--
body { background : white ; color : black ; }
-->
</style>
外部调用法:将样式表写在一个独立的.css文件中,然后在页面head区用以下的代码调用。
Example Source Code []
<link rel=\"stylesheet\" rev=\"stylesheet\" href=\"css/style.css\" type=\"text/css\" media=\"all\" />
在符合web标准的设计中,我们使用外部调用法,好处不言而喻,你可以不修改页面只修改.css文件而改变页面的样式。假如所有页面都调用同一个样式表文件,那么改一个样式表文件,可以改变所有文件的样式。
由此可见阿捷是十分推崇用<link>的。补充一下阿捷的话,使用<link>的好处不单单是修改起样式表很方便,而且会使用户的浏览速度加快。用户第一次打开链接了样式表的页面后,样式表会自动下载到本地缓存当中。当用户再打开另一个页面,而这个页面假如也链接了同样的样式表的时候,会从缓存中读取相关的文件,这样就会加快浏览的速度。
但是笔者也碰到过这种情况:有时碰到网络不顺畅的情况,页面打开以后,链接的样式表没有加载成功。这种情况造成的后果,不仅仅是页面文字的颜色、大小等等样式无法显示,更麻烦的是很可能造成整个页面的布局乱了套!
有一次笔者打开Macromedia.com的时候,碰到公司网络不畅,也许是因为有很多人在下载东西吧。结果页面显示出的样子完全是没有样式表的样子,熟悉的布局看不到了,所有内容从上往下排列,就像用手机在浏览网站。虽然内容还能全部看到,但我不得不花些时间去熟悉这种新的布局,浏览的时候也有一种不顺畅的感觉。
笔者在做金山在线首页的时候(上一版),我就把所有样式嵌入到了页面的<head>区。首页是一个网站流览量最大的页面,必须保证高的可靠性。而且只对首页样式表采取嵌入的方式,其他页面还是用<link>,修改样式时不会增加太多的工作量。
周末做amaoagou的首页,我对样式更进一步进行了规划:把与布局有关的样式:#head、#left之类都嵌入到页面内部,其他样式采用链接的方式。
总结出如下的经验:
Example Source Code []
方法一:首页完全采用嵌入的方法,其他页面均采用链接的方式。优点:这样可以保证首页在网络状况不好的情况下仍然能够正确显示。缺点:修改样式时需要修改外部样式表和首页内嵌的样式表两个地方。
方法二:将负责布局的样式和其他样式分开写。首页嵌入布局的样式,链接其他样式;其他页面对于两套样式均采用链接方式。优点:修改样式时,比第一种工作量小。网络状况不好时,首页的外观不能完全保证,但至少布局不会乱。
假如制作的不是符合标准的页面,比如公司产品的一个小专题,领导要求用table制作以确保专题上线速度。对于各个页面都会用到的样式:链接。对于只有这一个页面会用到,但会用到很多次的样式:嵌入<head>。对于只有这一个页面会用到且只使用一次的样式:嵌入<head>或者干脆直接写style=\"...\"就解决问题了。