CSS兼容IE6-9与FF的高效技巧与区别总结

需积分: 9 2 下载量 88 浏览量 更新于2024-09-15 收藏 8KB TXT 举报
在开发跨浏览器兼容的网站时,CSS对于IE6、IE7和Firefox(FF)的兼容性是至关重要的。本篇总结主要介绍了如何通过CSS hack技术来确保这些老版本浏览器的样式正确应用。以下是一些关键知识点: 1. **区别IE6与FF**: 使用双值背景颜色设置可以区分这两种浏览器。在IE6中,`background:orange;*background:blue;` 会优先使用蓝色背景,而在FF中,标准规则生效,所以是橙色背景。 2. **区别IE6与IE7**: 在IE7中,`background:green!important;background:blue;` 的`!important`规则会被识别,因此绿色背景将覆盖蓝色。而在FF中,仅识别标准声明,即绿色背景。 3. **区别IE7与FF**: 对于FF和IE7,`background:orange; *background:green;` 会让FF使用绿色背景,而IE7则会遵循星号前缀的特殊规则,可能会选择橙色或绿色(具体取决于前面的声明顺序)。 4. **综合兼容**: 当同时考虑FF、IE7和IE6时,`background:orange;*background:green!important;*background:blue;` 是一个混合策略。IE6识别`*`和`!important`,但不执行`!important`,IE7识别所有,FF只执行标准规则。 5. **CSS Hack使用示例**: - `width:100px!important;/*IE7+FF*/width:80px;/*IE6*}` 这个例子展示了如何用`!important`来优先处理IE7和FF,然后对IE6做特定调整。 - 使用HTML特定选择器,如`*html` 和 `*+html`,针对不同版本的IE进行布局修复。例如,`*html#wrapper{width:80px;}` 用于IE6,`*+html#wrapper{width:60px;}` 用于IE7。 6. **特殊技巧**: - `*+htmlIE7HACK` 提到的HTML文档类型声明(`<!DOCTYPE HTML PUBLIC ...>`)对IE7的hack有一定影响,这通常用于触发IE7特有的渲染模式。 - 对于IE6和IE7,HTML文档结构中的`*` 和 `!important` 的使用应谨慎,避免可能引发的混乱或副作用。 7. **注意事项**: - IE6和IE7的CSS hack有时可能导致代码冗余,因此优化和重构是非常必要的。 - 了解每个版本的浏览器特性,并根据需求权衡使用hack还是采用更现代的方法,比如渐进增强(Progressive Enhancement)和优雅降级(Graceful Degradation)。 CSS兼容IE6、IE7和FF的关键在于理解和熟练运用各种hack技术,以及理解不同浏览器的行为差异,以确保网站在各种浏览器环境下都能提供良好的用户体验。同时,随着浏览器更新,应逐步减少对过时浏览器的支持,转向更加现代的开发实践。