Let's start with three simple facts ? as Petr Pisar found out.
1. The underscore ("_") is allowed in CSS identifiers by the CSS2.1 Specification
2. Browsers have to ignore unknown CSS properties
3. MSIE 5+ for Windows ignores the "_" at the beginning of any CSS property name
Therefore, a CSS definition, e. g. _color:red is:
1. Correct, for CSS 2.1 specification allows it (even if software validators, knowing only older version CSS 2.0, say it's a bug: they are wrong, it's correct).
2. Ignored in any browser but WinIE
3. Treated as color:red in WinIE
Thus, this IE's bug/feature is very simple and clear way to set CSS properties for WinIE only (MacIE doesn't have this bug/feature).
It's easy to fix e. g. mis-implemented "position:fixed" in WinIE:
Code:
#menu {
position: fixed;
_position: absolute;
...
}
Same method may be used to fix the min-height property missing in WinIE:
Code:
#box {
min-height: 300px;
height: auto;
_height: 300px;
...
}