第一章 引言
web标准
标准的制定过程:CSS规范通常是由CSS工作组的成员来编写的。
人员结构如:88%
来自W3C会员公司的成员(比如浏览器厂商、主流网站、研究机构、常规技术公司等);7%
特邀专家;5%
W3C工作人员;
浏览器厂商并不是对标准唯唯诺诺,反之,他们比W3C有更多发言权。CSS工作组坚持透明原则,所有交流都对大众公开。
每项规范从最初启动到最终成熟,都会经历以下阶段
:
- 编辑草案(ED)
- 首个公开工作草案(FPWD)
- 工作草案(WD)
- 候选推荐规范(CR)
- 提名推荐规范(PR)
- 正式推荐规范(REC)
常常在面试时会被问到:你知道CSS3的一些新特性吗?
在CSS1、CSS2时,CSS还是统一的规范,直到后来CSS被打散到多个不同的规范(模块)中,每个模块都可以独立更新版本。
那些延续了CSS2.1已有特性的模块会升级到3这个版本号。比如:CSS语法、CSS层叠与继承、CSS颜色、选择符、CSS背景与边框、CSS值与单位、CSS文本排版、CSS文本装饰效果、CSS字体、CSS基本UI特性;
之前某个模块前所未有的新概念,则版本号从1开始。比如:CSS变形、图像混合效果、滤镜效果、CSS遮罩、CSS伸缩盒布局、CSS网格布局;
但是,绝大多数提到的CSS3
其实包括了CSS规范第三版再加上一些版本号还是1的新规范。
CSS编程技巧
尽量减少代码重复
响应式网页设计
- 使用
百分比
长度来取代固定长度。 - 在较大分辨率下得到固定宽度时,使用
max-width
而不是width
。 - 为
替换元素
(比如img,object,video, iframe等)设置一个max-width
,值为100%。 背景图片
需要完整地铺满一个容器,不管容器的尺寸如何变化,background-size:cover
这个属性是可以做到的。- 当图片以行列式进行布局时,让视口的宽度来决定列的数量。
弹性布局(即Flexbox)
或者display: inline-block
加上常规的文本折行行为,都可以实现这一点。 - 在使用多列文本时,指定
column-width
而不是指定column-count
,这样它可以在较小的屏幕上自动显示为单列布局。
合理使用简写
使用预处理器stylus、sass、less等?
先使用原生css,当代码开始无法保持dry时,才切换到预处理器的方案。