CSS 是“Cascading Style Sheet”的缩写,中文意思为“层叠样式表”,它是一种标准的样式表语言,用于描述网页的表现形式(例如网页元素的位置、大小、颜色等)。
CSS 的主要作用是定义网页的样式(美化网页),对网页中元素的位置、字体、颜色、背景等属性进行精确控制。CSS 不仅可以静态地修饰网页,还可以配合 JavaScript 动态地修改网页中元素的样式,而且市面上几乎所有的浏览器都支持 CSS。
CSS 发展史
20 世纪 90 年代初 HTML 语言诞生,这时的 HTML 只包含很少的属性来控制网页的显示效果。伴随着 HTML 的成长,各式各样的样式语言也随之出现,不同的浏览器结合它们各自的样式语言来控制页面的显示效果。
经过不断的发展,HTML 中添加了越来越多的属性来满足页面设计者的需求,随着这些属性的增加,HTML 变的越来越杂乱,而且 HTML 页面也越来越臃肿,于是 CSS 便诞生了。
1994 年,哈坤·利提出了 CSS 的最初建议,并决定与正在设计 Argo 浏览器的伯特·波斯(Bert Bos)合作,共同开发 CSS。
1994 年底,哈坤·利在芝加哥的一次会议上第一次正式提出了 CSS 的建议,之后又在 1995 年的 WWW 网络会议上再次提出了 CSS,在会议上伯特·波斯展示了支持 CSS 的 Argo 浏览器,哈坤·利也展示了支持 CSS 的 Arena 浏览器。
同年,W3C 组织(World WideWeb Consortium)成立,该组织对 CSS 的发展很感兴趣,为此还专门组织了一次讨论会。最终 CSS 的全部开发成员都加入了 W3C 组织,并负责 CSS 标准的制定,至此 CSS 的发展走上正轨。
W3C,中文名为“万维网联盟”,也称为“W3C理事会”,由万维网的发明者 蒂姆·伯纳斯·李 于 1994 年 10 月在麻省理工学院计算机科学实验室成立,是 Web 技术领域最具权威和影响力的国际中立性技术标准机构。
发展至今,CSS 总共经历了 4 个版本的迭代:
1) CSS1.0
1996 年 12 月 W3C 发布了 CSS 的第一个版本——CSS1.0
2) CSS2.0
1998 年 5 月,CSS2.0 版本正式发布
3) CSS2.1
2004 年 2 月,CSS2.1 正式发布。该版本在 CSS2.0 的基础上略微做了改动,删除了许多不被浏览器支持的属性。
4) CSS3
早在 2001 年,W3C 就着手开始准备开发 CSS 的第三个版本,到目前为止该版本还没有最终定稿。虽然完整的 CSS3 标准还没有最终发布,但各主流浏览器已经开始支持其中的绝大部分特性。
CSS 的特点
CSS 是 Web 领域的一个突破,它为 HTML 提供了一种描述元素样式的方式,使用 CSS 和 HTML 可以制作出外形优美的网页。总体来说 CSS 具有以下特点:
1) 丰富的样式定义
CSS 提供了丰富的外观属性,可以在网页中实现各式各样的效果,例如:
- 为任何元素设置不同的边框,以及边框与元素之间的内外间距;
- 改变文字的大小、颜色、字体,为文字添加修饰(例如下划线、删除线);
- 为网页设置背景颜色或者背景图片等等。
2) 易于使用和修改
CSS 的样式信息不仅可以定义在 HTML 元素的 style 属性中,也可以定义在 HTML 文档 <head> 标签内的 <style> 标签中,还可以定义在专门的 .css 格式的文件中,之后再将其引用到 HTML 文档。
推荐使用最后一种定义方式(定义单独的 .css 格式文件),这样可以将 CSS 样式统一存放,方便后期维护。
3) 多页面应用
前面说了可以将 CSS 样式单独存放在一个 .css 格式的文件中,这个文件不属于任何页面,我们可以在不同的页面引用这个 .css 格式的文件,这样就可以统一不同页面的风格。
4) 层叠
层叠就是指可以对同一个 HTML 元素多次定义 CSS 样式,后面定义的样式会覆盖前面定义的样式。
例如整个站点引用了同样的 CSS 样式文件,但想要调整其中某个页面的某些元素,这时就可以针对想要调整的元素单独定义一份样式文件并引用到页面中。这样后来单独定义的样式就会覆盖前面的样式,在浏览器同样只会看到最后设置的效果。
5) 页面压缩
一个网页其中通常包含大量的 HTML 元素,为了实现某些效果我们往往还需要为这些元素定义样式文件,如果将它们放到一起就会使得我们的 HTML 文档过于臃肿。而将 CSS 样式定义在单独的样式文件中,把 CSS 样式与 HTML 文档分开的话就可以大大减小 HTML 文档的体积,这样浏览器加载 HTML 文档所用的时间也会减少。
另外,CSS 样式可以重复使用,不同的元素可以使用相同的 CSS 样式,这样可以避免定义重复的样式,CSS 样式文件的体积也会相应的减小,从而进一步缩短页面加载的时间。
暂无评论内容