前言

前言

CSS在1994年被提出,1996年由Internet Explorer 3首次(部分地)实现。正是在那段时间,我发现了神奇的查看源代码(View Source)按钮,并意识到一个网页的全部秘密就在一份纯文本文件里,等着我去破译。我用一个文本编辑器编码并观察效果,就这样自学了HTML和CSS。这成了我在网上花费大量时间的一个有趣的借口。

同时,我需要找一份真正的工作,于是取得了一个计算机科学的学位。在21世纪初“Web开发人员”的概念出现时,我还不知道它能和CSS扯上关系。

我很早就开始写CSS。即使是在工作中使用,我仍然把CSS当成好玩的游戏。我从事过后端和前端的工作,但无论在哪个团队中,我都是CSS专家。而CSS往往是Web技术栈中最容易被忽视的一部分。但是,一旦你的项目编写了清晰的CSS代码,你就再也离不开它了。每个经验丰富的Web开发者在见识到CSS的神奇效果后,大部分会问:“我该如何学习CSS?”

这个问题没有简单直接的答案,因为学习CSS并不是学习一两个小技巧,而是要理解这门语言的方方面面,并知道它们如何搭配使用。有些书对CSS做了不错的入门介绍,但是很多开发人员已经对CSS的基础有了一定的了解;有些书则教授了许多有用的技巧,但前提是读者已经精通了这门语言。

与此同时,CSS正在加速变化。响应式设计如今已经是事实标准了。Web字体也早已普及。2016年,我们见证了Flexbox的崛起;2017年,网格布局开始兴起,混合模式、盒阴影、变换、过渡、动画也刚刚普及。随着越来越多的浏览器变得“长青”,具备自动升级新版本的功能,新的CSS特性还会源源不断地出现。我们需要关注的知识点太多了。

不管你是入行不久的新手,还是有一定经验,但需要提升CSS技能的开发人员,这本书都能帮助你紧跟CSS发展的步伐。本书选取的知识点具备以下三个特点之一。

  • 基本特性。很遗憾,很多开发人员没有完全理解CSS的众多基础概念,包括层叠、浮动布局的行为,以及定位。本书会深入探讨这些知识点,并解释它们的工作原理。
  • 新特性。过去几年涌现了许多新特性,甚至还有一些特性刚刚萌芽。本书会介绍CSS的新功能以及那些尚在孵化的特性。本书更关注未来,虽然我会适当给出向后兼容的方案,但是我对当前以及未来的跨浏览器开发十分乐观。
  • 大部分CSS书没有介绍到的特性。CSS世界很庞大。现代Web应用程序开发的世界里充满了重要的最佳实践以及通用方法。它们不一定属于CSS语言,但是一定属于CSS文化。它们对现代Web开发至关重要。

如何学习CSS呢?你会在本书中找到答案。

目录