跳转到内容

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]

参考文献