首页 > 解决方案 > 在 CSS 中使用 - over _ 来支持“旧”浏览器

问题描述

我正在重构一些 CSS,并认为我会根据这个有用的最佳实践参考进行审查。-在使用而不是_在命名类型中提到的一件事,当然我用_!命名了我的所有类型。参考文献提到这样做是为了“旧浏览器”的兼容性,但并不是这意味着什么。这是 IE6 级别的东西,我可以(在我看来)安全地忽略仍在使用该垃圾的任何人吗?或者这是 IE9 级别的东西,我知道我的很多读者还在 IE9 中?而且,对 Android 浏览器有什么影响?知道在某些情况下,Android 基本上在您购买手机的那一刻就停止更新,如果我不费心重构,我是否也会在那里自欺欺人?

标签: css

解决方案


那些用于覆盖特定浏览器的 CSS 属性的命名,它们是浏览器中的错误/黑客,允许您使用发现的错误设置浏览器样式以按预期运行。检查browserhacks以获取有关此的更多信息,以及特定于浏览器的 css hacks

例子

body {
  background-color: red;
  _background-color: blue;
}

此 CSS 将应用红色背景到正文,它们将忽略_background-color: blue;,因为它的无效 CSS 属性,但对于 IE6,它会将其识别为有效的 CSS 属性(因为 IE6 CSS 验证器将对其进行清理并删除前导_)并将覆盖background-color: red;


推荐阅读