Export to GitHub

ie7-js - issue #9

Priority on multiple classes


Posted on Jan 10, 2008 by Happy Cat

You can see the problem here : http://essais.pierrebertet.net/IE7/test1.htm

The script used is IE7.js.

CSS : .test.test2{background:#ccc;} .test2{background:none;}

HTML : <div id="group-2" class="test test2"> [...] </div>

In all browsers, the second element has a grey background.

In IE6 with the script, the background is "none".

Comment #1

Posted on Jan 15, 2008 by Helpful Rabbit

If you change the order of your css, then your page will work in IE6: chnage: .test.test2{background:#ccc;} .test2 {background:none;}

into: .test2 {background:none;} .test.test2{background:#ccc;}

Comment #2

Posted on Jan 15, 2008 by Swift Camel

This is related to CSS specificity. IE7 replaces unknown selectors with an IE7 class so that:

.test.test2 --> .ie7_class0

The trouble is that this changes the specificity of the rule. IE7 attempts to keep as much of the rule's specificity as it can. I've improved the algorithm slightly in the next release and this particular bug will be fixed by the change, However, there where still be occasional situations where this bug will still show up.

Comment #3

Posted on Jan 15, 2008 by Swift Camel

(No comment was entered for this change.)

Comment #4

Posted on Feb 4, 2008 by Swift Camel

This is now as fixed as is possible but still not 100% fixed. :-(

Status: Fixed

Labels:
Type-Defect Priority-Medium