You’re viewing an archive of outdated material. Visit The Web Standards Project’s updated site to learn about our current mission.
The error-handling in Opera's CSS parser is in direct violation of the specification. The CSS1 specification explains in detail how things should be handled (i.e., what to ignore), but Opera fails to follow important guidelines in this part of the recommendation.
To demonstrate this, this page has the following stylesheet:
A { font: bold highlighted 150% sans-serif; } // This is not a comment and should cause errors! P.three {color: red; }
This should not effect the links and
anchors on this page. Since the links are in sans-serif and in
bold and have size 150%, Opera is in violation of the spec. This is
because the font
property does not take the
highlighted
keyword, and thus that part of the rule
should be ignored. (Opera does this correctly in the
text-decoration
property.)
This text should not be red.
This bug is caused by Opera incorrectly believing the
//
construct to be a comment delimiter. What
should happen is that the line beginning with the two slashes
should be considered part of a long selector with an unrecognised
operator, and as such should be ignored totally. If slashes ever
become used as selectors of any kind (as was proposed in one CSS2
draft), this will make future documents break.