样式表要不要写进页面模版

网络整理 - 07-27

我们可以看到很多超高流量的门户站,在写页面代码时,几乎全是直接将样式表写进页面模板中的,这样做有何好处呢?比如百度,打开其首页,通过查看其源代码,建站学发现其样式表就写在<head>区,如下——

<style>body{font:12px arial;text-align:center;background:#fff}body,p,form{margin:0;padding:0}body,form,#lg{position:relative}td{text-align:left}img{border:0}a{color:#00c}a:active{color:#f60}#u{padding:7px 10px 3px 0;text-align:right}#m{width:650px;margin:0 auto}#nv{font-size:16px;margin:0 0 4px -32px}#nv a,#nv b,#su,#lk{font-size:14px}#lg{margin:-17px 0 9px}#fm{padding-left:111px;text-align:left}#kw{width:391px;line-height:16px;padding:3px 1px;margin:0 6px 0 0;font:16px arial}#su{width:78px;height:28px;line-height:24px}#kw,#su{vertical-align:middle}#lk{margin:33px 0}#lk span{font:14px "宋体"}#lm{height:60px}#lh{margin:16px 0 5px;font:12px "宋体"}#lh a{font:12px arial}#hp{position:absolute;line-height:14px;margin:0 0 0 6px;top:-1px;*top:2px}#cp,#cp a{color:#77c}#sx{color:#00C;text-decoration:underline;cursor:pointer;}</style>

    谷歌也一样,在其首页中,引入的css样式如下——

<style>body{margin:0}#gog{padding:3px 10px 0}td{line-height:.8em;}.gac_m td{line-height:17px;}form{margin-bottom:20px;}body,td,a,p,.h{font-family:arial,sans-serif}.h{color:#36c;font-size:20px}.q{color:#00c}.ts td{padding:0}.ts{border-collapse:collapse}.fl a:link{color:#77c}em{color:#c03;font-style:normal;font-weight:normal}a em{text-decoration:underline}.lst{font:17px arial,sans-serif;margin-bottom:.2em;vertical-align:bottom;}input{font-family:inherit}.lsb,.gac_sb{font-size:15px;height:1.85em!important;margin:.2em;padding:0 6px;width:auto;overflow:visible;}#gog{background:#fff;}#gbar,#guser{font-size:13px;padding-top:1px !important}#gbar{float:left;height:22px}#guser{padding-bottom:7px !important;text-align:right}.gbh,.gbd{border-top:1px solid #c9d7f1;font-size:1px}.gbh{height:0;position:absolute;top:24px;width:100%}#gbs,.gbm{background:#fff;left:0;position:absolute;text-align:left;visibility:hidden;z-index:1000}.gbm{border:1px solid;border-color:#c9d7f1 #36c #36c #a2bae7;z-index:1001}.gb1{margin-right:.5em}.gb1,.gb3{zoom:1}.gb2{display:block;padding:.2em .5em;}.gb2,.gb3{text-decoration:none;border-bottom:none}a.gb1,a.gb2,a.gb3,a.gb4{color:#00c !important}a.gb2:hover{background:#36c;color:#fff !important}</style>

    另外,还有其他一些门户站,如腾讯、新浪、网易163等等,皆是如此(四大门户中,就只有搜狐采取的是外部调用样式表文件的方式)。这么看来,此法显然是一项有意义的举措,并且可能是流量越高的站,越需要这样做。因为据我所知,一些小站或个站,似乎采取的几乎都是与搜狐一样的做法。那么,究竟有何意义呢?建站学思考了下,总结这么做大致有如下五点作用——
   
    1)将样式表直接写入页面模板中,可以降低服务器负担(主要是磁盘IO和网络连接数)。
    2)将样式表直接写入页面模板中,可以有效提高页面的加载速度(网页设计的技术发展是螺旋式的,曾经有人发明了图片分割来充分利用带宽;现在有人发明了合并图片来提高加载速度。很显然,这么做正是出于速度考虑)。
    3)将样式表直接写入页面模板中,可以有效防止因CSS加载失败导致的页面变形。
    4)将样式表直接写入页面模板中,可以通过一些特定的代码来解决某些CSS对于浏览器兼容的问题。
    5)将样式表直接写入页面模板中,在实现以上四点的基础上,必然也改善了用户体验。

    当然,有利必有弊,这样做的好处既可以想象,那么其弊端也必不容忽视。就目前而言,至少有两个问题比较突出——

    1)将样式表直接写入页面模板中,势必造成页面文件过于庞大,代码过于冗杂而不利于SEO(当然,对这些大站而言,SEO只是个屁)。
    2)将样式表直接写入页面模板中,势必牺牲网络带宽,尽管它可以换取到不错的用户体验。利弊权衡,全在于你。