IE9不支持css选择器>?

时间:2012-10-23 10:29:32

标签: css internet-explorer-9 css-selectors

我有以下html:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Gallery</title>
        <link href="style.css" rel="stylesheet" />
    </head>
        <body>
        <div>
            <ul class="Boxes">
                <li>
                    <span>Nature</span>
                </li>
                <li class="Add">
                    <div></div>
                </li>
            </ul>
        </div>
    </body>
</html>

以及以下css:

body {
    background: black;
    color: white;
}
body .Boxes li {
    width: 192px;
    height: 192px;
    font-size: 2.5em;
    background: rgb(27, 161, 226);
}
body .Boxes li.Add div {
    background-position: 0px -352px;
    width: 192px;
    height: 192px;
    background-image: url("Sprites.png");
    background-repeat: no-repeat;
    background-color: transparent;
}
.Boxes {
    list-style-type: none;
    float: left;

}
.Boxes li {
    margin: 10px; border: 0px currentColor;
    float: left;
    display: block;
    list-style-type: none;
}

现在这个效果很好,但是如果我改变行“body .Boxes li.Add div {”to“body .Boxes li.Add &gt; div {”那么它将停止在IE9中工作我不明白为什么? 注意:它仍在Opera,Chrome中运行..

1 个答案:

答案 0 :(得分:6)

因为您缺少doctype声明:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

没有它,IE9将进入怪癖模式并且在怪癖模式下,IE将无法识别>选择器等。这不会影响其他浏览器中的怪癖模式。