CSS
CSS(全稱:Cascading Style Sheets,層疊樣式表)是一種用於描述HTML、XML等結構化文檔在屏幕、紙質、音頻等媒介上呈現方式的樣式表語言[1]。它由哈肯·維姆·萊(Håkon Wium Lie)於1994年提出,並與伯特·波斯(Bert Bos)共同設計[2]。1996年12月,萬維網聯盟(W3C)將CSS1發布為首個正式推薦標準,標誌着Web表現層技術的標準化開端[3]。作為開放Web的核心語言之一,CSS與HTML、JavaScript共同構成現代Web開發的三大基礎技術,負責控制網頁的視覺表現與布局,實現內容與樣式的分離[1]。
| CSS | |
|---|---|
| 中文名 | 層疊樣式表 |
| 英文名 | Cascading Style Sheets |
| 縮寫 | CSS |
| 設計者 | 哈肯·維姆·萊、伯特·波斯 |
| 初始發布 | 1996年12月17日(CSS1,W3C推薦標準) |
| 標準組織 | W3C |
| 文件擴展名 | .css |
| 相關技術 | HTML、JavaScript、DOM |
概述
定義與性質
CSS是一種聲明式樣式表語言,而非編程語言。它通過選擇器(Selector)匹配HTML或XML文檔中的元素,並應用聲明塊中定義的樣式屬性(如顏色、字體、間距、布局等)來控制文檔的視覺呈現[1]。CSS的核心設計目標之一是提供一種簡單的機制,使文檔作者能夠定義頁面樣式,同時允許用戶根據自身需求覆蓋或調整這些樣式,在二者之間取得平衡[4]。
功能與定位
在Web標準體系中,CSS承擔"表現層"(Presentation)角色,與負責"結構層"的HTML和負責"行為層"的JavaScript形成分工[5]。通過將表現樣式從文檔內容中分離,CSS簡化了Web創作與站點維護工作,使同一套樣式可復用於多個頁面,並支持針對不同輸出設備(顯示器、打印機、流動裝置等)定製呈現方式[6]。
歷史
起源與CSS1
1994年,任職於歐洲核子研究中心(CERN)的哈肯·維姆·萊在與蒂姆·伯納斯-李共事期間提出了層疊樣式表的概念,並與正在設計Argo瀏覽器的伯特·波斯合作完成了初步設計[2][7]。同年,他們在芝加哥的"馬賽克與萬維網"(Mosaic and the Web)大會上首次公開提出CSS建議。1995年,W3C組織專題研討會並正式成立CSS項目,由哈肯·維姆·萊與伯特·波斯負責推進[7]。1996年12月17日,W3C發布CSS Level 1推薦標準,定義了字體、顏色、背景、文本屬性及基本盒模型等核心特性[3][4]。
CSS2與CSS2.1
1998年5月,W3C發布CSS Level 2推薦標準(CSS2),在CSS1基礎上擴展了定位模型、表格布局、媒體類型、分頁控制及用戶界面等特性,並支持內容定位與國際化屬性[6][8]。此後,W3C着手修訂CSS2以糾正錯誤並刪除未被廣泛實現的特性,最終於2011年6月7日發布CSS Level 2 Revision 1(CSS2.1)正式推薦標準。CSS2.1被視為當時瀏覽器廣泛支持的"快照"版本,成為此後多年Web開發的主流依據[1][9]。
CSS3與模塊化發展
早在2001年,W3C即已開始籌劃CSS第三版規範。與此前單體式版本不同,CSS3被拆分為多個相互獨立的模塊(如選擇器、盒模型、色彩、排版、媒體查詢等),各模塊可按自身進度分別推進至不同級別(Level),無需等待整體規範完成[1][9]。這種模塊化策略使重要的特性(如CSS Grid、Flexbox、自定義屬性等)能夠更快標準化並獲瀏覽器實現。W3C現已不再對CSS規範進行整體版本控制,而是定期發布CSS快照(CSS Snapshot),匯總各模塊的最新穩定狀態[1]。因此,現代CSS規範體系中不存在"CSS4"這一版本,只有各模塊的獨立級別演進[10]。
語法與核心概念
選擇器與聲明
CSS規則由選擇器(Selector)和聲明塊(Declaration Block)組成。選擇器用於定位文檔中的目標元素,聲明塊則由一對花括號包裹,內含一個或多個以分號分隔的聲明。每個聲明包含屬性(Property)與值(Value),以冒號分隔[1][11]。此外,CSS支持以@符號開頭的At-rules(@規則),如@charset、@import、@media等,用於定義字符編碼、引入外部樣式表或創建條件規則[10]。
層疊與優先級
"層疊"(Cascading)是CSS的核心機制,指當多個樣式規則作用於同一元素時,瀏覽器按照特定優先級算法合併這些規則以確定最終呈現效果。樣式來源分為三類:作者樣式表(網頁設計者編寫)、用戶樣式表(終端用戶自定義)及瀏覽器默認樣式表(User Agent Stylesheet)[4][12]。層疊規則結合選擇器特異性(Specificity)、來源優先級及聲明順序等因素進行權重計算,確保樣式衝突時可預期地解決[4]。
引入方式
CSS可通過三種主要方式應用於HTML文檔:內聯樣式(Inline Style,通過元素的style屬性直接書寫)、內部樣式表(Internal Style Sheet,在文檔<head>內使用<style>標籤定義)及外部樣式表(External Style Sheet,通過.css文件書寫並使用<link>標籤引入)。其中,外部樣式表最符合內容與表現分離的原則,便於多頁面復用與統一維護[8][11]。
標準組織
萬維網聯盟(W3C)
萬維網聯盟(World Wide Web Consortium,W3C)創建於1994年,是Web技術領域最具權威和影響力的國際中立性技術標準機構[5]。W3C下設CSS工作組(CSS Working Group),負責CSS規範的制定、修訂與標準化流程。該組織採用會員制,瀏覽器廠商、技術公司及科研機構共同參與,通過共識機制推進標準演進[1]。
CSS工作組
CSS工作組是W3C內部專門負責樣式表標準的技術工作組,成員包括瀏覽器開發商、CSS框架維護者及獨立技術專家。工作組採用模塊化方式管理規範,每個模塊由獨立的規範編輯草案(Editor's Draft)經工作草案(Working Draft)、候選推薦標準(Candidate Recommendation)、提議推薦標準(Proposed Recommendation)等階段,最終成為W3C正式推薦標準(W3C Recommendation)[1][13]。
版本沿革
- CSS1:1996年12月17日發布,W3C首個CSS推薦標準,定義基礎字體、顏色、文本屬性及簡單盒模型[3]。
- CSS2:1998年5月12日發布,新增定位、z-index、媒體類型、分頁、光標等特性,功能大幅擴展[6]。
- CSS2.1:2011年6月7日發布,修正CSS2中的錯誤,刪除未廣泛實現的特性,反映當時瀏覽器實際支持情況[1]。
- CSS3(模塊化):自2001年起分模塊推進,各模塊獨立定級,引入圓角、陰影、漸變、動畫、彈性布局(Flexbox)、網格布局(Grid)等現代特性[1][9]。
參考文獻
- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 MDN Web 文檔
- ↑ 2.0 2.1 百度百科
- ↑ 3.0 3.1 3.2 百度百科
- ↑ 4.0 4.1 4.2 4.3 清華大學出版社《Web標準網頁設計》
- ↑ 5.0 5.1 全棧之路-前端篇
- ↑ 6.0 6.1 6.2 W3C CSS2規範中文版
- ↑ 7.0 7.1 黑馬程式設計師
- ↑ 8.0 8.1 清華大學出版社《網頁設計與開發》
- ↑ 9.0 9.1 9.2 掘金《CSS權威指南》筆記
- ↑ 10.0 10.1 掘金 CSS全解
- ↑ 11.0 11.1 商務部CSS基礎培訓材料
- ↑ 清華大學出版社《網頁設計與製作》
- ↑ 2019年是否可以拋棄CSS預處理器