Let's start with three simple facts — as Petr Pisar found out.
- The underscore ("_") is allowed in CSS identifiers by the CSS2.1 Specification
- Browsers have to ignore unknown CSS properties
- MSIE 5+ for Windows ignores the "_" at the beginning of any CSS property name
Therefore, a CSS definition, e. g.
- 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).
- Ignored in any browser but WinIE
- Treated as
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 (see the example).