1、为了兼容性问题,CSS3要选择性使用。
2、兼容性处理手段
(1)渐进增强
先写低版本浏览器,后写高版本,在核心功能完善情况下,做加法。
(2)优雅降级
先写高版本浏览器,后写低版本,在完美体验方案下,做减法。
渐进增强、优雅降级 只是一种工作方式,思想差不多,关注核心功能。
(3)CSS hack
为不同版本写不同的样式,以上两点是建立在此基础上完成。
CSS hack是因为现有浏览器对标准的解析不同,为了兼容各浏览器,所采用的一种补救方法,以欺骗浏览器的方式达到兼容的目的,是用浏览器的兼容性差异来解决浏览器的兼容性问题。现在很多hacks已经抛弃了最初的原则,而滥用hack会导致浏览器更新之后产生更多的兼容性问题。因此,并不推荐使用CSS hack来解决兼容性问题。
3、通用兄弟选择器(A~B,CSS2的内容)
选择A元素后面的所有B元素,与A+B仅有选择数量上的区别。
4、目标伪类选择器(A:target)
选择所有定义ID后被href引用的A元素,也就是存在URL指向的A元素。
5、UI元素状态伪类选择器
(1)A:checked
匹配被已选择的选择框元素。
(2)A:enabled
匹配已启用的表单元素。
(3)A:disabled
匹配已禁用的表单元素。
6、结构伪类选择器
括号中的数值n可以为算术表达式。
网友评论