精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

一個超棒的CSS小工具:最佳Web性能優(yōu)化

開發(fā) 前端
今天寫了一個CSS的小工具,也算是最近關(guān)于CSS和Web性能優(yōu)化思考的一次實(shí)踐。

下面開始介紹一下,這個小工具主要功能有以下這些:

◆ 代碼壓縮

◆ 合并請求

◆ 語法擴(kuò)展

◆ 緩存設(shè)置

代碼壓縮

這個小工具其實(shí)是一個Default.aspx頁面文件,我們只要把它放到網(wǎng)站CSS文件夾里面,保證這個頁面命名是默認(rèn)首頁,然后把我們原來引用的CSS文件夾后面加一個問號就行了。用我的博客舉個例子,我本來文章頁面中有三個CSS引用:

  1. <link href="css/detail.css"  rel="stylesheet" type="text/css" /> 
  2. <link href="css/shThemeDefault.css"  rel="stylesheet" type="text/css" /> 
  3. <link href="css/shCore.css"  rel="stylesheet" type="text/css" /> 

然后我們只要改成這樣就可以了:

  1. <link href="css/?detail.css"  rel="stylesheet" type="text/css" /> 
  2. <link href="css/?shThemeDefault.css"  rel="stylesheet" type="text/css" /> 
  3. <link href="css/?shCore.cssshThemeDefault.css"  rel="stylesheet" type="text/css" /> 

這樣之后有什么分別呢?加了問號之后,CSS引用都定向到我們的頁面,頁面根據(jù)后面的參數(shù),讀取CSS文件,然后把其中的無效空格,換行,注釋全部清除掉。然后返回一個壓縮后的CSS文件??梢渣c(diǎn)擊下面兩個鏈接看看壓縮前后的效果:

壓縮前:http://www.vinqon.com/codeblog/css/shCore.css

壓縮后:http://www.vinqon.com/codeblog/css/?shCore.css

合并請求

對于一個Web優(yōu)化狂熱者來說,每一個Http請求都是那么的刺眼。這不得不說說一些讓人糾結(jié)的事情。看過《高性能網(wǎng)站建設(shè)指南》的都知道,黃金法則第一條就是減少http請求,對于CSS來說,我們一般用這些方法來盡量減少請求:

1.合并CSS文件。一個頁面往往引用了多個CSS文件,為了減少其請求數(shù)目,我們可以直接把該頁面需要請求的CSS文件手動合并成為一個輸出。但是,這帶來的后果是,嚴(yán)重不利于代碼的維護(hù)和管理。并且,合并之后的代碼都是獨(dú)立的,多個頁面共用的代碼無法緩存。

2.內(nèi)聯(lián)CSS代碼。內(nèi)聯(lián)CSS的好處是完全杜絕了http請求,而且可以保證CSS里面附帶的圖片也能立刻請求,讓頁面更快完成渲染,QQ,新浪等的門戶首頁都使用了內(nèi)嵌CSS。但是問題還是那個,首先不利于維護(hù),其次是不能實(shí)現(xiàn)緩存。因?yàn)檫@些CSS每次都要下載,如果外聯(lián)的話第二次請求的時候就可以直接使用緩存文件。

針對內(nèi)聯(lián)CSS代碼的方案,之前我就想過做一個ASP.Net的插件,把在引用css的link標(biāo)簽改成服務(wù)器控件,輸出頁面的時候,控件會加載css文件內(nèi)嵌到頁面中,這樣可以使內(nèi)聯(lián)代碼也便于維護(hù)。

而針對合并CSS文件的方案,我在這個小工具中實(shí)現(xiàn)了請求時自動合并,這其實(shí)也不是什么新東西,好像之前也見過,還是用上面的例子,三個CSS文件合并:

  1. <link href="css/?detail.css&shCore.css&shThemeDefault.css"  rel="stylesheet" type="text/css" /> 

只要用&把不同的文件名字鏈接起來,就會得到一個合并的輸出。通過這樣的實(shí)時合并,很好避免了手動合并帶來的代碼混亂,而且當(dāng)有大量文件的時候,可以減少http請求數(shù)目,有明顯的提升。

但是,不得不提一下的是:不一定全部CSS合并起來輸出就是最好的,原因首先還是緩存問題,共用文件不應(yīng)該合并,因?yàn)檫@樣使得它每次都要重新下載。另外一個也是很重要的問題是,瀏覽器是會并行下載CSS文件的,如果分成多個文件,可以讓最早下載下來的CSS文件立刻被使用,如果我們把全部亂七八糟的都合并起來,瀏覽器要等到整個CSS文檔下載完畢才能使用,可能帶來性能的倒退。所以,結(jié)論是:共用和基礎(chǔ)的CSS文件不應(yīng)該合并。

語法擴(kuò)展

先說說目前比較經(jīng)典的一種CSS代碼組織結(jié)構(gòu),這也是《編寫高質(zhì)量代碼—Web前端開發(fā)修煉之道》作者推薦的方案:

◆ 基礎(chǔ)樣式(主要包括對默認(rèn)樣式的Reset以及對用class選擇器組合常用的樣式)

◆ 全站樣式(全站各個頁面都要用到的樣式,一般負(fù)責(zé)網(wǎng)站整體結(jié)構(gòu)的構(gòu)架)

◆ 頁面樣式(頁面級的樣式,針對頁面細(xì)節(jié)的調(diào)整)

關(guān)于CSS代碼組織不是本次主題,我想說一下的是上面粗體字提到的一種比較流行的方法:·

  1. .fb12{font-size:12px;font-weight:blod}  
  2. .red{color:red}  
  3. .clear{clear:both

然后我們在頁面中這么使用:

  1. <div id="example" class="fb12 red clear">這是范例!</div> 

這些寫法其實(shí)也沒什么特別,但是我覺得很值得探討,沒興趣的可以直接跳過這一段。我們一般在頁面編碼時,都是先寫好HTML,再去寫樣式。在寫樣式的時候我們要為某個標(biāo)簽應(yīng)用某個樣式,就得用各種選擇符找到目標(biāo)元素,然后賦予樣式。這時候,無論是類,還是標(biāo)簽,ID,它們的角色都是選擇者,區(qū)別只是ID用來選一個,標(biāo)簽和類多用來選擇多個而已。但是在上面例子中,類的情況就有些不同,在上面那種類的樣式定義的時候,我們不會想到這一定會用在哪里,我們只想到這些樣式使用可能比較頻繁,先寫出來,以便復(fù)用,最后才去HTML標(biāo)簽上加上多個不同的class,組合成一個新的獨(dú)立樣式。這和直接在style上面寫規(guī)則的不同是,style只能使用的CSS基本屬性,是粒度最小的CSS規(guī)則,用class可以通過基本屬性的組合,形成一定粒度,然后我們可以通過在多個標(biāo)簽使用不同類的組合形成最終樣式。這樣做一方面可以保證代碼復(fù)用,另一方面又可以便于維護(hù)。其實(shí)上,這種方法更多有標(biāo)簽選擇樣式的意味,而類這個雙向選擇特性是源于 類選擇符與標(biāo)簽之間可以實(shí)現(xiàn)多對多的關(guān)系。

但是,這種寫法有一個弊端,就是不利于結(jié)構(gòu)和樣式的分離。樣式出現(xiàn)在元素里面,一旦修改,很容易觸碰到html代碼。為了解決這個問題,我在這個小工具里進(jìn)行了語法擴(kuò)展,我們可以在樣式表中使用多個class??蠢影桑?/p>

  1. .fb12{font-size:12px;font-weight:blod;}  
  2. .red{color:red;}  
  3. .clear{clear:both;}  
  4.  
  5. #example{class:fb12 red clear; width:500px;}  

我們編寫css的時候可以直接向上面那樣寫,然后輸出會變成這樣:

  1. .fb12{font-size:12px;font-weight:blod;}  
  2. .red{color:red;}  
  3. .clear{clear:both;}  
  4. #example{font-size:12px;font-weight:blod;color:red;clear:both;width:500px;} 

很久之前就想過,如果css有這功能多好哇,代碼可以高度復(fù)用了。這次終于弱弱地實(shí)現(xiàn)了一下了。需要注意的是,編譯過程代碼寫得不太好,最好嚴(yán)格遵循css格式,譬如,每個規(guī)則后面都必須有分號。另外,也不支持嵌套。

感謝Gray Zhang的推薦,原來目前已經(jīng)有不少強(qiáng)大CSS語法擴(kuò)展的工具,譬如Sass,Lesscss,兩者功能相似,后者甚至支持在客戶端編譯。

緩存設(shè)置

上面很多次提到過緩存,但是因?yàn)槲覀兪褂昧隧撁孑敵?,常常不能被瀏覽器緩存,這需要我們自己手動設(shè)置,只要在參數(shù)后面加上expire=分鐘數(shù),就可以了,譬如:

http://localhost:56349/MyBlog/CodeBlog/css/?global.css&expire=50001

這個小工具很多正則,有人可能會覺得服務(wù)器也應(yīng)該緩存一下吧,我沒有做服務(wù)器的緩存是因?yàn)槲矣X得客戶端緩存已經(jīng)ok了,而且在本機(jī)調(diào)試的時候,每次頁面輸出都是在10毫秒之內(nèi),緩不緩存對用戶沒有很明顯的感覺。服務(wù)器我就不管啦~

最后,提供源文件下載。

原文鏈接:http://www.cnblogs.com/vinqon/archive/2011/05/02/2034459.html

【編輯推薦】

  1. 了解CSS的查找匹配原理 讓CSS更簡潔、高效
  2. 高性能WEB開發(fā)之JS、CSS的合并壓縮
  3. 強(qiáng)烈推薦40個優(yōu)秀的免費(fèi)CSS工具
  4. 強(qiáng)力推薦12組免費(fèi)的CSS3按鈕
  5. 10 個漂亮的CSS 3表單制作教程
責(zé)任編輯:陳貽新 來源: 詠聰?shù)牟┛?/a>
相關(guān)推薦

2012-02-16 10:12:23

JavaScript

2022-12-28 12:29:45

duf命令

2017-07-25 14:20:13

戴爾配置功耗

2011-03-09 09:25:12

CSS3

2022-03-30 15:11:26

Python房價工具

2013-03-29 14:46:33

App開發(fā)小工具輔助工具

2023-04-26 01:21:34

工具URL地址

2017-05-23 20:44:36

Linux緩存工具

2019-10-31 10:43:05

Python 開發(fā)編程語言

2021-05-10 11:06:31

Python工具代碼

2021-05-20 11:30:17

Python工具代碼

2020-11-26 12:05:44

Python小工具代碼

2020-08-25 20:10:53

GitHub代碼開發(fā)者

2009-11-19 08:48:10

Windows 7桌面工具

2024-09-24 17:54:26

Python開發(fā)

2021-11-05 06:57:50

架構(gòu)工具代碼

2024-03-08 14:45:35

2022-10-09 14:35:31

python工具Linux

2020-06-19 09:40:57

程序員遠(yuǎn)程開發(fā)者

2017-05-03 13:37:05

Linuxweb性能監(jiān)測
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

色喇叭免费久久综合| 性色av免费观看| 亚洲精品tv| 日韩在线网址| 久久国产夜色精品鲁鲁99| 操日韩av在线电影| 亚州av综合色区无码一区| 一呦二呦三呦精品国产| 亚洲黄色免费电影| 欧美日韩喷水| 精品人妻伦一区二区三区久久| 亚洲欧洲日本一区二区三区| 中文字幕精品国产| 欧美肉大捧一进一出免费视频| 韩国成人在线| 午夜激情一区二区三区| 一区二区在线观看网站| 午夜av免费在线观看| 精品系列免费在线观看| 免费人成在线不卡| 亚洲欧洲xxxx| 中文字幕永久免费| 久久久精品视频在线| 小h片在线观看| 一色桃子久久精品亚洲| 久久久精品动漫| 精品国自产在线观看| 天堂在线亚洲视频| 一二三区精品福利视频| 国产尤物99| 亚洲天堂一二三| 欧美专区18| 国外成人性视频| 午夜爽爽爽男女免费观看| 欧美少妇xxxx| 亚洲图片在区色| 亚洲熟女一区二区| 天堂va在线高清一区| 91精品国产丝袜白色高跟鞋| 五月婷婷丁香色| 香蕉视频亚洲一级| 色悠悠亚洲一区二区| 在线播放视频一区| 成人午夜免费在线| 欧美激情成人动漫| 樱花草国产18久久久久| 香蕉精品视频在线| 亚洲乱亚洲乱妇| 欧美国产国产综合| 欧洲亚洲一区二区| 手机福利小视频在线播放| 波多野结衣中文字幕一区二区三区| 91九色综合久久| 7777久久亚洲中文字幕| 精品中文av资源站在线观看| 成人激情视频在线| 国产精品乱码一区二区| 国产精品中文欧美| 国产 高清 精品 在线 a| 成人黄色在线观看视频| 成人的网站免费观看| 国产一区免费观看| 天天干视频在线观看| 99精品视频在线观看免费| 国内精品二区| 精品乱码一区二区三四区视频| 国产视频一区在线播放| 日韩一区二区三区资源| 中文日本在线观看| 亚洲美女屁股眼交| 91动漫在线看| 欧美日韩123区| 在线观看一区日韩| 亚洲18在线看污www麻豆| 日韩免费在线电影| 日韩精品影音先锋| 亚洲AV无码国产精品| 欧美激情在线精品一区二区三区| 在线日韩欧美视频| 五月天av网站| 日韩午夜高潮| 国产精品户外野外| 国产露脸91国语对白| 成人永久aaa| 蜜桃精品久久久久久久免费影院| 欧洲久久久久久| 精品人妻一区二区三区三区四区 | 日韩av网址大全| 亚洲女人天堂网| 亚洲欧美另类日本| 亚洲国产日韩在线| 国产精品久久久久久久久免费| 一区不卡在线观看| 成人av在线一区二区| 日韩精品资源| 欧美亚洲系列| 欧美亚洲综合网| 第一页在线视频| 国产一区二区三区四区五区 | 极品在线视频| 欧美日韩国产一二三| 动漫av在线免费观看| 国产成人3p视频免费观看| 乱亲女秽乱长久久久| 日日夜夜狠狠操| 国产黄色成人av| 茄子视频成人在线观看| 丝袜美女在线观看| 欧美性受极品xxxx喷水| 在线免费看黄色片| 亚洲成人精品| 国产成人aa精品一区在线播放| 国产深喉视频一区二区| 国产三级精品视频| 免费观看美女裸体网站| 国产一区二区三区免费在线| 亚洲另类图片色| 久久久精品99| 国内久久精品视频| 欧美成ee人免费视频| 9999在线视频| 欧美一区二区三区性视频| 亚洲自拍偷拍图| 国产情侣免费视频| 青青草97国产精品免费观看| 久久精品国产精品国产精品污| 黄色精品免费看| 欧美偷拍一区二区| 性欧美13一14内谢| 亚洲欧洲一区二区天堂久久| 亚洲专区国产精品| 日本免费中文字幕在线| 在线欧美一区二区| 国产吞精囗交久久久| 激情婷婷久久| 春色成人在线视频| 成年人网站在线| 4hu四虎永久在线影院成人| 成人性生交大片免费看无遮挡aⅴ| 在线午夜精品| 久久久影院一区二区三区| av在线最新| 精品国产免费人成在线观看| 久久精品国产亚洲AV无码麻豆 | www.美色吧.com| 欧美日韩视频| 国产精品免费一区二区三区观看 | 男生女生差差差的视频在线观看| 亚洲大型综合色站| 国模私拍在线观看| 国产亚洲午夜| 乱一区二区三区在线播放| 水蜜桃在线视频| 国产视频在线一区二区| 岛国av中文字幕| 欧美韩国日本综合| 国模私拍视频在线观看| 色喇叭免费久久综合网| 91精品视频播放| 国产三级在线播放| 日韩区在线观看| 国产精品成人av久久| 99久久久国产精品| 任你操这里只有精品| 精品乱子伦一区二区| 国产精品一区二区视频| 国产午夜精品视频一区二区三区| 一区中文字幕| 欧美怡春院一区二区三区| 久久伊伊香蕉| 欧美日韩aaa| 久久久久99精品成人片毛片| 成人avav影音| 91激情视频在线| 一区二区中文字| 久久久久久久久一区| free欧美| 久久成人一区二区| 秋霞网一区二区| 欧洲在线/亚洲| 麻豆天美蜜桃91| 北岛玲一区二区三区四区| www.日日操| 欧美一区二区三区久久精品茉莉花| 国产美女精品在线观看| 日韩毛片免费观看| 久久6免费高清热精品| 手机福利小视频在线播放| 欧美精三区欧美精三区| 日韩av电影网| 亚洲人成在线观看一区二区| 日韩无码精品一区二区| 久久国产综合精品| 免费无码国产v片在线观看| 欧美大片aaaa| 久久综合九色欧美狠狠| 国产精品一区二区三区av| 欧美在线精品免播放器视频| 黄色大片在线播放| 亚洲欧美在线第一页| 性欧美18一19性猛交| 在线观看国产日韩| 日本三级免费看| 自拍偷拍亚洲欧美日韩| 亚洲国产欧美视频| 福利一区在线观看| 手机看片一级片| 久久成人在线| 欧美一级视频在线播放| 99精品一区| 色婷婷精品国产一区二区三区| 国产三级精品三级在线观看国产| 国产成人高清视频| 热久久最新网址| 久久一区二区中文字幕| 欧美黑人3p| 国产精品一区二区三区美女| 92福利视频午夜1000合集在线观看| 国产精品伦理| 91po在线观看91精品国产性色| 在线观看男女av免费网址| 在线观看日韩av| 黄色av网站在线| 日韩电影免费在线观看中文字幕 | 成人国产电影网| 黄色小视频免费网站| 日韩精品三区四区| 青青视频在线播放| 亚洲精品美女91| 黄色一级片黄色| 欧美激情1区2区3区| 一本久久a久久精品vr综合| 精品国产123区| 欧美裸体网站| 亚洲免费成人av在线| 精品无人乱码一区二区三区的优势| 国产一精品一av一免费爽爽| 成人精品久久久| 天堂综合在线播放| 成人精品在线观看| 欧美美女被草| 国产日韩在线视频| 国产福利一区二区三区在线播放| 国产精品99导航| yw.尤物在线精品视频| 国产精品久久久久免费a∨| 不卡av影片| 国产成人黄色av| 天堂久久午夜av| 国产精品美女www爽爽爽视频| 校园春色亚洲色图| 国产精品免费一区| 亚洲成人1区| 成人一区二区电影| 久久久久久久久久久久电影| 98国产高清一区| 风间由美一区二区av101| 国产一区二区黄色| 偷窥自拍亚洲色图精选| 欧美sm极限捆绑bd| 欧美成人短视频| 自拍视频在线观看一区二区| 天天操天天操天天操天天操天天操| 亚洲人亚洲人成电影网站色| 免费人成在线观看| 欧美日韩另类视频| 成人免费视频国产免费| 欧美区一区二区三区| www.蜜臀av| 日韩av在线影院| 在线看的av网站| 欧美理论电影在线观看| 日韩激情电影| 国产免费一区二区三区在线能观看| 国产精品国产亚洲精品| 成人在线视频电影| 伊人久久大香线蕉综合网站| 亚洲国产激情一区二区三区| 欧美在线国产| 日韩网址在线观看| 麻豆精品久久精品色综合| 国产调教打屁股xxxx网站| 26uuu精品一区二区| jizzjizzjizz国产| 亚洲一区二区av电影| 免费看日批视频| 欧美男生操女生| 无码国产伦一区二区三区视频| 国产一区二区三区18| 天堂av中文在线| 日韩av电影在线播放| 99久久这里有精品| 久久精品ww人人做人人爽| 香蕉av一区二区| 黑人糟蹋人妻hd中文字幕| 精品无人码麻豆乱码1区2区| 久久性爱视频网站| 中文字幕一区二区三| 精品91久久久| 日韩欧美亚洲国产精品字幕久久久| 欧洲一区av| 欧美国产精品日韩| 国产国产一区| 欧美下载看逼逼| 精品69视频一区二区三区Q| 999在线观看| 97久久超碰国产精品电影| 欧美成人手机视频| 欧美日韩在线播放一区| 色哟哟在线观看| 欧美激情a在线| av在线国产精品| 亚洲精品在线免费看| 亚洲一区不卡| 欧美激情一区二区三区p站| 国产精品tv| 91精品国产网站| 涩爱av色老久久精品偷偷鲁| 天堂精品一区二区三区| 国产日韩欧美三区| 久久久久久久久久影视| 国产精品久久久久久一区二区三区| 国产精品视频久久久久久久| 日韩一区二区三区免费观看| 午夜在线视频| 国产精品美女久久久久av超清| 亚洲精品国产setv| 日韩精品在线观看av| 国产毛片精品一区| 九九热最新地址| 欧美一区二区三区喷汁尤物| 老司机在线看片网av| 欧美激情久久久久| 亚洲开心激情| 免费的一级黄色片| 国产成人啪午夜精品网站男同| 999福利视频| 欧美精品777| 国产在线高潮| 亚洲字幕一区二区| 欧美91视频| 99免费观看视频| 亚洲一区免费在线观看| 亚洲精品无遮挡| 欧美劲爆第一页| 国产精品视频3p| 精品国产免费av| 91在线你懂得| 日韩色图在线观看| 国产一区二区日韩| 久久天堂影院| 中文字幕久久一区| 国产剧情一区二区| 婷婷色中文字幕| 精品国精品自拍自在线| 91九色porn在线资源| 国新精品乱码一区二区三区18| 亚洲调教视频在线观看| japanese在线观看| 一本大道久久a久久精品综合| 国产亚洲依依| 成人国产在线视频| 欧美成人综合| 色综合久久五月| 欧美综合一区二区三区| 黄av在线免费观看| 99影视tv| 毛片一区二区| 成人在线观看高清| 亚洲福利视频专区| 日韩精品99| 免费在线精品视频| 成人精品视频网站| 91视频久久久| 不卡av电影在线观看| 九九热hot精品视频在线播放| 一级特黄性色生活片| 免费欧美日韩| 视频三区二区一区| 日韩极品在线观看| 草视频在线观看| 亚洲嫩模很污视频| 亚洲网站免费| 女性女同性aⅴ免费观女性恋| 中文字幕乱码亚洲精品一区| 精品久久久久成人码免费动漫| 日本成熟性欧美| 午夜国产精品视频| 中文字幕高清视频| 日韩一区二区三区在线观看| 97se综合| 欧美极品少妇无套实战| 欧美国产一区在线| 欧美在线 | 亚洲| 国产精品一区专区欧美日韩| 亚洲经典在线看| 日韩av手机在线免费观看| 日韩毛片中文字幕| 日韩免费一级| 婷婷六月天在线|