CSS3是CSS(層疊樣式表)技術(shù)的升級(jí)版本,于1999年開始制訂,2001年5月23日W3C完成了CSS3的工作草案,主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。
CSS演進(jìn)的一個(gè)主要變化就是W3C決定將CSS3分成一系列模塊。瀏覽器廠商按CSS節(jié)奏快速創(chuàng)新,因此通過采用模塊方法,CSS3規(guī)范里的元素能以不同速度向前發(fā)展,因?yàn)椴煌臑g覽器廠商只支持給定特性。但不同瀏覽器在不同時(shí)間支持不同特性,這也讓跨瀏覽器開發(fā)變得復(fù)雜。
CSS3 發(fā)展歷程
早在2001年W3C就完成了CSS3的草案規(guī)范。CSS3規(guī)范的一個(gè)新特點(diǎn)是被分為若干個(gè)相互獨(dú)立的模塊。一方面分成若干較小的模塊較利于規(guī)范及時(shí)更新和發(fā)布,及時(shí)調(diào)整模塊的內(nèi)容,這些模塊獨(dú)立實(shí)現(xiàn)和發(fā)布,也為日后CSS的擴(kuò)展奠定了基礎(chǔ)。另外一方面,由于受支持設(shè)備和瀏覽器廠商的限制,設(shè)備或者廠商可以有選擇的支持一部分模塊,支持CSS3的一個(gè)子集,這樣有利于CSS3的推廣。
CSS3 編程開發(fā)
CSS3編程工具同CSS,任何一種文本編輯工具都可用來編寫,如:Windows下的寫字本、記事本;或其他專門用于編輯網(wǎng)頁文本的工具如:IntelliJ IDEA、Eclipse、MyEclipse、webstorm、sublime text;此外還有專門針對(duì)前端開發(fā)的插件,如:Emmet。
CSS3 優(yōu)勢評(píng)價(jià)
1、減少開發(fā)成本與維護(hù)成本
在CSS3出現(xiàn)之前,開發(fā)人員為了實(shí)現(xiàn)一個(gè)圓角效果,往往需要添加額外的HTML標(biāo)簽,使用一個(gè)或多個(gè)圖片來完成,而使用CSS3只需要一個(gè)標(biāo)簽,利用CSS3中的border-radius屬性就能完成。這樣,CSS3技術(shù)能把人員從繪圖、切圖和優(yōu)化圖片的工作中解放出來。如果后續(xù)需要調(diào)整這個(gè)圓角的弧度或者圓角的顏色,使用CSS2.1,需要從頭繪圖、切圖才能實(shí)現(xiàn),使用CSS3只需修改border-radius屬性值就可快速完成修改。
CSS3提供的動(dòng)畫特性,可讓開發(fā)者在先實(shí)現(xiàn)一些動(dòng)態(tài)按鈕或者動(dòng)態(tài)導(dǎo)航時(shí)遠(yuǎn)離JavaScript,讓開發(fā)人員不需要花費(fèi)大量的時(shí)間去寫腳本或者尋找合適的腳本插件來適配一些動(dòng)態(tài)網(wǎng)站效果。
2、提高頁面性能
很多CSS3技術(shù)通過提供相同的視覺效果而成為圖片的“替代品”,換句話說,在進(jìn)行Web開發(fā)時(shí),減少多余的標(biāo)簽嵌套以及圖片的使用數(shù)量,意味著用戶要下載的內(nèi)容將會(huì)更少,頁面加載也會(huì)更快。另外,更少的圖片、腳本和Flash文件能夠減少用戶訪問Web站點(diǎn)時(shí)的HTTP請(qǐng)求數(shù),這是提升頁面加載速度的最佳方法之一。而使用CSS3制作圖形化網(wǎng)站無需任何圖片,極大地減少了HTTP的請(qǐng)求數(shù)量,并且提升了頁面的加載速度。例如CSS3的動(dòng)畫效果,能夠減少對(duì)JavaScript和Flash文件的HTTP請(qǐng)求,但可能會(huì)要求瀏覽器執(zhí)行很多的工作來完成這個(gè)動(dòng)畫效果的渲染,這有可能導(dǎo)致瀏覽器響應(yīng)緩慢致使用戶流失。因此,在使用一些復(fù)雜的特效時(shí)需要考慮清楚。其實(shí)很多CSS3技術(shù)能夠在任何情況下都大幅提高頁面的性能。
CSS3將完全向后兼容,所以沒有必要修改的設(shè)計(jì)來讓它們繼續(xù)運(yùn)作。網(wǎng)絡(luò)瀏覽器也還將繼續(xù)支持CSS2。