【问题标题】:Why declare the same CSS parameter twice, but second one with a asterisk? [duplicate]为什么要声明相同的 CSS 参数两次,但第二个用星号声明? [复制]
【发布时间】:2012-08-30 12:01:21
【问题描述】:

可能重复:
CSS reset - purpose of asterik within a style

我在阅读 HTML5BoilerPlate 的 CSS 样式时,遇到了这个不熟悉的行:

button, input, select, textarea { 
  font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; 
}

特别是第二个****vertical-align***,为什么要调用两次并在其前面放一个星号。

如果有人知道该技术的名称或使用它的原因,那将是一个很大的帮助

谢谢!

-阿德里安

【问题讨论】:

    标签: css css3pie


    【解决方案1】:

    这是一个nasty hack,可用于针对旧版本的 IE(其他浏览器忽略无效的星号前缀值)。绝对不是一个好主意,最好使用 IE 条件样式表或类似技术。

    【讨论】:

      【解决方案2】:

      这是针对 Internet Explorer 浏览器的 CSS hack:


      *属性:值

      如果您在属性名称前添加星号 (*) 等非字母数字字符,则该属性将在 IE 中应用,而不是在其他浏览器中。与连字符和下划线方法不同,CSS 规范不保留星号作为前缀,因此随着 CSS 规范的发展,使用这种 hack 可能会导致意外行为。

      property: value 在 IE 7 及更低版本中应用属性值。它可能会或可能不会在未来的版本中工作。警告:这使用了无效的 CSS。

      来自here

      【讨论】:

        【解决方案3】:

        这是一个 css hack,用于定位 IE7 browser

        更多参考请见How to Target IE6, IE7, and IE8 Uniquely with 4 Characters

        【讨论】:

        • 感谢 A.K. 的链接
        【解决方案4】:

        这是一个 IE6 黑客。如果你把 * 放在 CSS 属性前面,它只会被 IE6 读取。由于 IE6 的使用率现在下降到全球的 1%,我们可以忘记这个 hack(除非你住在中国)

        【讨论】:

          猜你喜欢
          • 2016-08-21
          • 2017-01-04
          • 1970-01-01
          • 1970-01-01
          • 2019-11-05
          • 1970-01-01
          • 2018-04-14
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多