IE9 CSS Hack - 什么属性不起作用?

时间:2015-05-20 16:22:38

标签: css internet-explorer

我想在CSS中使用IE9 hack,而不是使用单独的条件样式表。

这些似乎不起作用。

.cover-header .cover-intro {
  text-align: center \9;
  font: 0/0 a \9;  
}

.cover-header .cover-intro:before {
  content: ' ' \9;
  display: inline-block \9;
  vertical-align: middle \9;
  height: 100% \9;
}

.cover-header .cover-intro .cover-heading {
  width: 100% \9;
  display: inline-block \9;
  vertical-align: middle \9;
  font: 16px/1 'Lato', Helvetica, sans-serif \9;
}

我想知道这个hack支持哪些属性,如果是,为什么不将它们应用到IE9浏览器?

感谢任何帮助。提前谢谢!

2 个答案:

答案 0 :(得分:3)

\9 hack应该适用于所有属性。这里的问题是你在\9之前有一个空格,这打破了黑客攻击。

删除空间应该修复它。这样做可能会使CSS的可读性降低,但不幸的是,在这种情况下它绝对是必要的。在具有空格分隔值的属性中,例如font简写,只应删除\9前面的空格;其余的应保留,因为它们是财产价值的一部分。

.cover-header .cover-intro {
  text-align: center\9;
  font: 0/0 a\9;
}

.cover-header .cover-intro:before {
  content: ' '\9;
  display: inline-block\9;
  vertical-align: middle\9;
  height: 100%\9;
}

.cover-header .cover-intro .cover-heading {
  width: 100%\9;
  display: inline-block\9;
  vertical-align: middle\9;
  font: 16px/1 'Lato', Helvetica, sans-serif\9;
}

答案 1 :(得分:-1)

关于IE的不同版本的CSS黑客列表

<强> CSS

#hack{
    color:red; /* All browsers */
    color:red !important;/* All browsers but IE6 */
    _color:red; /* Only works in IE6 */
    *color:red; /* IE6, IE7 */
    +color:red;/* Only works in IE7*/
    *+color:red; /* Only works in IE7 */
    color:red\9; /* IE6, IE7, IE8, IE9 */
    color:red\0; /* IE8, IE9 */
    color:red\9\0;/*Only works in IE9*/
}

确保在正常的css属性之后编写hacked css属性,例如

.div {
    color: #f00;
    color: #000\9\0; /*Only works in IE9*/
}