0

也许一整天后,我在 IE6 中探索新的错误(对我来说)。css 样式的顺序很重要。该样式仅适用于第一个孩子(在 css 文件中,不在元素中)。这很难解释,但这些例子会告诉你我的意思。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <style>
    #container #p.one
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container #p.two
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container
    {
        position: absolute;
        z-index: 500;
        width: 100%;
        height: 100%;
    }
    </style>
</head>
<body>
    <div id="container">
        <div id="p" class="one">123</div> <!-- change class "one" with "two" -->
    </div>
</body>

因此,如果您将“one”类更改为“two”类,则 div 将失去样式。样式一和二完全一样。

但如果你改变:

<div id="p" class="one">

<div id="p" class="two">

并更改样式:

    #container #p.one
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container #p.two
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container
    {
        position: absolute;
        z-index: 500;
        width: 100%;
        height: 100%;
    }

到:

    #container #p.two
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container #p.one
    {
        position: absolute;
        left:50%;
        width: 20px;
        height: 20px;
        background: green;
    }
    #container
    {
        position: absolute;
        z-index: 500;
        width: 100%;
        height: 100%;
    }

只需将“一”类与“二”类交换“二”类将起作用,但“一”则不行。如何解决这个问题或这是不可能的?

4

2 回答 2

4

这是一个已知的 IE6 错误。它会忽略#id.class除第一个之外的所有内容。

于 2012-07-15T01:06:12.257 回答
0

我不明白你为什么在你的 CSS 规则中同时使用 ID 和类。就其本质而言,ID 可以/应该只引用页面中的一个元素,所以 #p.two 和 #p.one 应该只是#p???

于 2012-07-14T23:19:06.557 回答