CSS3
CSS3(層疊樣式表)這項技術(shù)的升級版本是在1999年制定的2001年5月23日,W3C完成了CSS3的工作草案,主要包括盒子模型、列表模塊、超鏈接方式、語言模塊、背景和邊框、文字特效、多欄布局等模塊。
CSS發(fā)展的一個主要變化是W3C 將CSS3分成一系列模塊的決定。瀏覽器廠商按照CSS的節(jié)奏快速創(chuàng)新,所以通過采用模塊化的方法,CSS3規(guī)范中的元素可以以不同的速度發(fā)展,因為不同的瀏覽器廠商只支持給定的特性。然而,不同的瀏覽器在不同的時間支持不同的功能,這也使得跨瀏覽器開發(fā)變得復(fù)雜。

發(fā)展進程 編輯本段
早在2001年,W3C就完成了CSS3的規(guī)范草案。CSS3規(guī)范的一個新特性是它被分成幾個獨立的模塊。一方面,通過將模塊分成幾個更小的模塊,有利于規(guī)范的及時更新和發(fā)布,有利于模塊內(nèi)容的及時調(diào)整這些模塊都是獨立實現(xiàn)和發(fā)布的,這也為以后CSS的擴展打下了基礎(chǔ)。另一方面,由于支持設(shè)備和瀏覽器廠商的限制,設(shè)備或廠商可以選擇性地支持CSS3的部分模塊和子集,有利于CSS3的普及。
編程開發(fā) 編輯本段
CSS3編程工具和CSS一樣,任何文本編輯工具都可以用來編寫,比如:在Windows下寫書、記事本;或其他專門用于編輯網(wǎng)頁文本的工具,如:Intelligent a、Eclipse、MyEclipse、webstorm、sublimetext;此外,還有專門為前端開發(fā)的插件,比如:Emmet。
工作原理 編輯本段
CSS3的原理和CSS一樣,都是在網(wǎng)頁中自定義樣式表的選擇器,然后在大量的網(wǎng)頁中引用這些選擇器。
(標(biāo)度函數(shù)標(biāo)度(旋轉(zhuǎn)功能旋轉(zhuǎn)(和傾斜函數(shù)偏斜(變形可以簡單實現(xiàn),但是變形中的所有矩陣函數(shù)都可以使用矩陣(函數(shù)來代替
語言基礎(chǔ) 編輯本段
CSS3的語法基于CSS的原始版本,它允許用戶在標(biāo)簽中指定特定的HTML元素,而無需使用多余的類、Identification or Java Script language。CSS選擇器大部分都不是CSS3中新加入的,只是在之前的版本中沒有被廣泛使用。如果你想達到一個干凈的、輕量級標(biāo)簽和更好的結(jié)構(gòu)和性能分離,高級選擇器非常有用,可以減少標(biāo)簽中的class和id數(shù)量,讓設(shè)計人員更容易維護樣式表。
新增特性 編輯本段
CSS3的新特征有很多,例如圓角效果、圖形化邊界、塊陰影與文字陰影、使用RGBA實現(xiàn)透明效果、漸變效果、使用@Font-Face實現(xiàn)定制字體、多背景圖、文字或圖像的變形處理(旋轉(zhuǎn)、縮放、傾斜、移動)、多欄布局、媒體查詢等。
1、邊框特性
CSS3對網(wǎng)頁中的邊框進行了一些改進,主要包括支持圓角邊框、多層邊框、邊框色彩與圖片等。在CSS3中最常用的一個改進就是圓角邊框,通過CSS3的屬性可以快速實現(xiàn)圓角定義,同時還可以根據(jù)實際情況針對特定角進行圓角定義。
2、多背景圖
CSS3允許使用多個屬性(比如background-image、background-repeat、background-size、background-position、background-origin和background-clip等)在一個元素上添加多層背景圖片。該屬性的應(yīng)用大大改善了以往面對多層次設(shè)計需要多層布局的問題,幫助Web前端開發(fā)者在不借助Photoshop的情況下實現(xiàn)對頁面背景的設(shè)計,簡化了背景圖片的維護成本。
3、顏色與透明度
CSS3顏色模塊的引入,實現(xiàn)了制作Web效果時不再局限于RGB和十六進制兩種模式。CSS3增加了HSL、HSLA、RGBA幾種新的顏色模式。這幾種顏色模式的提出,在做開發(fā)的時候不僅可以設(shè)置元素的色彩,還能根據(jù)需要輕松地設(shè)定元素透明度。
4、多列布局與彈性盒模型布局
CSS3多列布局屬性可以不使用多個div標(biāo)簽就能實現(xiàn)多列布局。CSS3中的多列布局模塊描述了如何像報紙、雜志那樣,把一個簡單的區(qū)塊拆成多列,并通過相應(yīng)屬性來實現(xiàn)列數(shù)、列寬、各列之間的空白間距。彈性盒模型布局方便了Web前端開發(fā)者根據(jù)復(fù)雜的前端分辨率進行彈性布局,輕松地實現(xiàn)頁面中的某一區(qū)塊在水平、垂直方向?qū)R,是進行響應(yīng)式網(wǎng)站開發(fā)的一大利器。
5、盒子的變形
在CSS2.1中,想讓某個元素變形必須要借助JavaScript寫大量的代碼實現(xiàn),在CSS3中加入了變形屬性,該屬性在2D或3D空間里操作盒子的位置和形狀,來實現(xiàn)例如旋轉(zhuǎn)、扭曲、縮放或者移位。變形屬性的出現(xiàn),使Web前端中的元素展示不僅僅局限在二維空間,Web前端開發(fā)者可以通過旋轉(zhuǎn)、扭曲、縮放或者移位等操作實現(xiàn)元素在三維控件上的展示。通過變形元素,web前端中的內(nèi)容展示更加形象、真實。
6、過渡與動畫
CSS3的“過渡”(transition)屬性通過設(shè)定某種元素在某段時間內(nèi)的變化實現(xiàn)一些簡單的動畫效果,讓某些效果變得更加具有流線性與平滑性。CSS3的“動畫”(animation)屬性能夠?qū)崿F(xiàn)更復(fù)雜的樣式變化以及一些交互效果,而不需要使用任何Flash或JavaScript腳本代碼。過渡與動畫的出現(xiàn),使CSS在Web前端開發(fā)中不再僅僅局限于簡單的靜態(tài)內(nèi)容展示,而是通過簡單的方法使頁面元素動了起來,實現(xiàn)了元素從靜到動的變化。
7、Web字體
CSS3中引入了@font-face,@font-face是鏈接服務(wù)器字體的一種方式,這些嵌入的字體能變成瀏覽器的安全字體,開發(fā)人員不用再擔(dān)心用戶沒有這些字體而導(dǎo)致網(wǎng)頁在用戶瀏覽器無法正常顯示的問題。
8、媒體查詢
CSS3中引入媒體查詢(mediaqueries),可為不同分辨率的設(shè)備定義不同的樣式。比如,在可視區(qū)域小于480像素時,可能想讓原來在右側(cè)的網(wǎng)站側(cè)欄顯示在主內(nèi)容的下邊,以往必須通過JavaScript判斷用戶瀏覽器的分辨率,然后再通過JavaScript修改CSS。CSS3中只需要通過媒體查詢就可實現(xiàn)上述操作。
9、陰影
陰影主要分為兩種:文本陰影(text-shadow)和盒子陰影(box-shadow)。文本陰影在CSS2中已經(jīng)存在,但沒有得到廣泛的運用(CSS2.1中刪除了)。CSS3延續(xù)了這個特性,并進行了新的定義,該屬性提供了一種新的跨瀏覽器解決方案,使文本看起來更加醒目。CSS3中的盒子陰影的引入,可輕易地為任何元素添加盒子陰影。
兼容問題 編輯本段
瀏覽器廠商以前就一直在實施CSS3,雖然它還未成為真正的標(biāo)準(zhǔn),但卻提供了針對瀏覽器的前綴:
Chrome(谷歌瀏覽器):-webkit-
Safari(蘋果瀏覽器):-webkit-
Firefox(火狐瀏覽器):-moz-
lE(IE瀏覽器):-ms-
Opera(歐朋瀏覽器):-0-
例如,CSS3漸變樣式在Firefox和Safari中是不同的。Firefox使用-moz-linear-gradient,而Safari使用-webkit-gradient,這兩種語法都使用了廠商類型的前綴。
需要注意的是,在使用有廠商前綴的樣式時,也應(yīng)該使用無前綴的。這樣可以保證當(dāng)瀏覽器移除了前綴,使用標(biāo)準(zhǔn)CSS3規(guī)范時,樣式仍然有效。??
優(yōu)勢評價 編輯本段
1、降低開發(fā)成本和維護成本
在CSS3出現(xiàn)之前,為了實現(xiàn)圓角效果,開發(fā)者往往需要添加額外的HTML標(biāo)簽,并使用一張或多張圖片來完成,而使用CSS3只需要一個標(biāo)簽,并使用CSS3中的邊框-可以完成半徑屬性。這樣,CSS3技術(shù)就可以把人從畫圖中轉(zhuǎn)移出來、剪切圖片,優(yōu)化圖片。如果以后需要調(diào)整這個圓角的弧度或者顏色,使用CSS2.1需要從頭開始畫、只能通過裁剪地圖來實現(xiàn),使用CSS3時只需要修改邊框-可以快速修改半徑屬性值。
CSS3提供的動畫特性可以讓開發(fā)者在實現(xiàn)一些動態(tài)按鈕或者動態(tài)導(dǎo)航的時候遠離JavaScript,讓開發(fā)者不用 不需要花很多時間寫腳本或者尋找合適的腳本插件來適應(yīng)一些動態(tài)的網(wǎng)站效果。
2、提高頁面性能
許多CSS3技術(shù)通過提供相同的視覺效果而變得圖形化“替代品”換句話說,在Web開發(fā)中,減少冗余的標(biāo)簽嵌套和使用的圖片數(shù)量意味著用戶將下載更少的內(nèi)容和更快地加載頁面。另外,圖片比較少、腳本和Flash文件可以減少用戶訪問網(wǎng)站時的HTTP請求數(shù)量,這是加速頁面加載的最佳方式之一。使用CSS3制作圖形化網(wǎng)站,不需要任何圖片,大大減少了HTTP請求的數(shù)量,提高了頁面的加載速度。比如CSS3的動畫效果,可以減少對JavaScript和Flash文件的HTTP請求,但是可能需要瀏覽器進行大量的工作來渲染這種動畫效果,可能導(dǎo)致瀏覽器響應(yīng)緩慢,用戶流失。所以在使用一些復(fù)雜特效的時候,需要考慮清楚。事實上,許多CSS3技術(shù)可以在任何情況下極大地提高頁面的性能。
CSS3將完全向后兼容,因此不需要修改的設(shè)計來保持它們的工作。網(wǎng)絡(luò)瀏覽器也將繼續(xù)支持CSS2。
附件列表
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。