附录B. 自CSS1的改变
该附录是提示性的,而不是规范性的。
CSS2建于CSS1,所有合法的CSS1样式表也是合法的CSS2样式表。CSS1规范(参见[CSS1])和本规范的改变可以分为三个部分:新功能,CSS1功能的更新的描述以及相对CSS1的改进。
除了CSS1中的功能,CSS2还支持:
CSS1规范短而精简。本规范容量更大,也更易读。很多新的增加的内容描述了新的功能,但是CSS1特性的描述也得以扩展。除了下面描述的几个情况外,重新写的描述并不意味着语法或语义的改变。
B.3 相对CSS1的语义的改进
尽管所有CSS1样式表都是合法的CSS2样式表,但是还是有一些情况下,CSS1样式表在解释为CSS2样式表时含义是不同的。大部分改变是因为规范中体现了来自实现中的经验反馈,不过也有一些错误的修正。
- "!important"的含义被改变。CSS1中,作者样式表中的"!important"优先于用户样式表。CSS2中这一优先级被倒转了。
- CSS2中颜色值根据设备域而剪裁,而不是象CSS1中根据sRGB域。
- CSS1简单的判定,如果'margin-left'和'width'同时设置的话,'margin-right'会被忽略。CSS2中,选择释放'margin-right'还是'margin-left'取决于书写方向。
- SS1中,某些属性(如'padding')取值可以参照父元素的宽度。这是个错误;该值应该永远参照块级元素的宽度,本规范考虑到这个并引入了“包含块”概念。
- 'display'的初始值在CSS2中是'inline',而CSS1中是'block'。
- CSS1中'clear'属性适用于所有元素。这是个错误,CSS2中该属性只适用于块级元素。
- CSS1中,':link',':visited'和':active'是互斥的;CSS2中,':active'可以和':link'或':visited'同时出现。
- 字体尺寸表'font-size'相邻索引间的建议比例因子从1.5缩小到1.2。
- 'font-size'的计算值而不是实际值被继承。
- CSS1对于'inside'('list-style-position'中)的描述允许文本的左边距被影响,而不是列表符号。CSS2中,这样的解释被去除了。
- 请同时参考CSS2和CSS1中表征化的对比中的规范段落。