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

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