<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<style>
#margin1{*margin:10px;*border:1px solid red;}
#margin2{_margin:10px;_border:1px solid blue;}
#margin3{^margin:10px;^border:1px solid yellow;}
</style>
</head>
<body>
<div id="margin1">
*margin
</div>
<div id="margin2">
_margin
</div>
<div id="margin3">
^margin
</div>
</body>
</html>
IE支持* 、_、 ^开头的css属性hack。IE6支持全部的这3个hack,不管DOCTYPE 声明。IE8在不同模式下显示不同。在quirk模式下可以支持3种hack,在标准模式下都不支持(该html条件注释上场了)。
补充:在<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">声明下测试发现,IE6支持_开头的css属性,而IE8支持*开头的css属性,和声明属性的顺序无关。迷惑啊,有空再仔细测试下。