【问题标题】:How to prevent CSS declaration dropped errors cross browser?如何防止跨浏览器的 CSS 声明丢弃错误?
【发布时间】:2011-06-10 02:45:18
【问题描述】:

您好,我想知道如何轻松防止在调试软件(例如 Firefox 中的 webdeveloper 插件)中出现丢失的错误。我收到如下错误:

警告:解析“过滤器”的值时出错。声明已删除。

警告:解析“字体”值时出错。声明已删除。

我知道我收到这些错误是因为 Firefox 不支持这些 CSS 属性,但是我如何事先删除它们,这样 Firefox 就不会首先尝试读取它们?我知道我可以为每个浏览器创建一个单独的样式表,但这很不方便。有没有简单的解决办法?

【问题讨论】:

  • 不应该只为 MS 浏览器创建一个带有违规属性的样式表,并且在这种情况下为所有浏览器创建一个样式表就足够了吗?
  • 如果您只需要支持 IE >8,您可以使用-ms-filter 并将值放在引号中(请参阅msdn.microsoft.com/en-us/library/ms530752%28v=vs.85%29.aspx),以便它符合 CSS 标准。
  • filter 不是 CSS 属性,它是 IE 专有的。 Firefox 可以很好地处理“字体”。 Firefox 只是像任何现代浏览器一样忽略 filter 属性。
  • 这不是 IE 独有的问题。 iOS 的变通方法也在 Firefox 中导致了这种情况——例如尝试 getskeleton.com。

标签: css cross-browser


【解决方案1】:
  1. 总是将特定于 IE 的样式放入或导入 conditonal comment

  2. 作为标准的 CSS FF 应该可以使用“font”,所以只需检查你的语法,例如font: bold 12px/30px Georgia, serif; 以空格分隔的值、引号中的多字字体名称等。

【讨论】:

    【解决方案2】:

    如果您使用的是特定于 IE 的声明(如 filter),请将其放入特定于 IE 的样式表中。简单易行,我不太明白为什么会带来不便(不便是IE本身)。

    隐藏错误并不意味着错误已解决(实际上如果 FF 在font 中显示错误,则应予以注意)。

    【讨论】:

      猜你喜欢
      • 2015-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-23
      • 1970-01-01
      • 1970-01-01
      • 2012-09-30
      • 2021-06-05
      相关资源
      最近更新 更多