IE上的css选择器

IE上的css选择器,css,Css,我使用的是.class1.class2.class3选择器,其中.class1.class是一个组合选择器,.class3属于后代。在FF中工作正常,但在IE7上不起作用。 在下面的css中,第二种样式总是显示在IE中。有解决方案吗 <STYLE type="text/css"> .test1.test2 .test3{ width:90px; height:100px; } .test4.test2 .test3{ width:900px

我使用的是.class1.class2.class3选择器,其中.class1.class是一个组合选择器,.class3属于后代。在FF中工作正常,但在IE7上不起作用。 在下面的css中,第二种样式总是显示在IE中。有解决方案吗

<STYLE type="text/css"> .test1.test2 .test3{ width:90px; height:100px; } .test4.test2 .test3{ width:900px; height:100px; } </style> <div class="test1 test2"> <button value="test" class="test3"/> </div> 使用时,此问题已被多次提出。以下是一个示例:

<!--[if lte IE 9>
<style type="text/css">
.test1,.test2,.test3{
    width:90px;
    height:100px;
}
.test4,.test2,.test3{
    width:900px;
    height:100px;
}
</style>

<![endif]-->
这意味着所有低于版本9的IE系列浏览器都将以这种样式阅读,或者您可以使用样式,以便IE阅读,如下所示:

<STYLE type="text/css">
.test1,.test2,.test3{
    #width:90px;
    #height:100px;
}
.test4,.test2,.test3{
    #width:900px;
    #height:100px;
}
</style>
使用时,此问题已被多次提出。以下是一个示例:

<!--[if lte IE 9>
<style type="text/css">
.test1,.test2,.test3{
    width:90px;
    height:100px;
}
.test4,.test2,.test3{
    width:900px;
    height:100px;
}
</style>

<![endif]-->
这意味着所有低于版本9的IE系列浏览器都将以这种样式阅读,或者您可以使用样式,以便IE阅读,如下所示:

<STYLE type="text/css">
.test1,.test2,.test3{
    #width:90px;
    #height:100px;
}
.test4,.test2,.test3{
    #width:900px;
    #height:100px;
}
</style>

这种风格应该在IE7+上完美运行。正如佩卡在评论中所说的那样,存在着一个问题。我猜您可能没有使用严格的doctype? 在这种情况下,你得到的一切都是你应得的:-o


只需添加到HTML文件的开头,一切都会很好。

这种样式在IE7+上应该可以完美工作。正如佩卡在评论中所说的那样,存在着一个问题。我猜您可能没有使用严格的doctype? 在这种情况下,你得到的一切都是你应得的:-o


只需添加到HTML文件的开头,一切都会很好。

为了让您知道,您使用的方法称为多类方法!IE7需要使用以下表格:

div.class1.class2 div.class3 {}
IE6不支持这个,你可以破解它,阅读解决方案


希望这有帮助

只是为了让您知道,您使用的是所谓的多类方法!IE7需要使用以下表格:

div.class1.class2 div.class3 {}
IE6不支持这个,你可以破解它,阅读解决方案


希望这有帮助

您可以执行.test1.test3选择器或.test2.test3,除非您需要排除该组合,您可以重新排序到任一父级工作的位置,还是必须是该组合?您可以执行.test1.test3选择器或.test2.test3选择器,除非您需要排除该组合,您可以重新排序到任一父级工作的位置,还是必须是组合?但为什么?我仍然不明白为什么IE一开始会出错。但是您提供的示例不是一个组合,我将.test1.test2作为一个组合,而.test3属于一个后代。但是为什么?我还是不明白为什么IE一开始会出错。但是你提供的示例不是一个组合,我将.test1.test2作为一个组合,而.test3属于一个后代。似乎除了Nick之外的所有人都误解了这个问题,所讨论的css是.test1.test2.test3添加工作。但是我已经在使用IE7,而不是IE6。如果我不清楚的话,很抱歉——严格的doctype是为了让它在IE7中工作。不确定你第一次评论是什么意思;我知道CSS是什么。IE的问题是在一个元素上使用两个类,即.test1.test2部分。除了Nick,似乎每个人都误解了这个问题,所讨论的css是.test1.test2.test3添加工作。但是我已经在使用IE7,而不是IE6。如果我不清楚的话,很抱歉——严格的doctype是为了让它在IE7中工作。不确定你第一次评论是什么意思;我知道CSS是什么。IE的问题是在一个元素上使用两个类,即.test1.test2部分