Answers:
IE7 display: inline-block;黑客如下:
display: inline-block;
*display: inline;
zoom: 1;默认情况下,IE7仅支持inline-block自然inline元素(Quirksmode兼容性表),因此您仅需要针对其他元素进行破解。
zoom: 1是在那里触发hasLayout行为的,我们使用star属性hackdisplay来inline仅将IE7和更低版本中的设置为(新的浏览器不会应用)。hasLayout并且inline基本上可以一起触发inline-blockIE7中的行为,因此我们很高兴。
该CSS不会验证,并且可能使您的样式表变得混乱,因此通过条件注释使用仅IE7的样式表可能是一个好主意。
<!–-[if IE 7]>
<link rel="stylesheet" href="ie7.css" type="text/css" />
<![endif]–->*zoom:1;触发hasLayout。因此,更明确的是,   *zoomand *display在一起
                    由于没有人再使用IE6和7,因此我将提出一个不同的解决方案:
您不再需要黑客,因为IE8 本身就支持它
对于那些必须在IE8之前支持那些石器时代的浏览器的人(不是IE8这么老,太咳嗽):
对于IE版本控制,请在他的文章中使用一些条件类,<html>例如Paul Irish States
<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"><![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"><![endif]-->
<!--[if gt IE 8]><!--><html class="no-js"><!--<![endif]-->这样,对于不同的IE浏览器,您将在html-tag中具有不同的类
您需要的CSS如下
.inline-block {
    display: inline-block;
}
.lt-ie8 .inline-block {
    display: inline;
    zoom: 1;
}这将验证并且您不需要额外的CSS文件
.frame-header
{
    background:url(images/tab-green.png) repeat-x left top;
    height:25px;
    display:-moz-inline-box;    /* FF2 */
    display:inline-block;   /* will also trigger hasLayout for IE6+7*/
}
/* Hack for IE6 */
* html .frame-header {
    display: inline; /* Elements with hasLayout and display:inline behave like inline-block */
}
/* Hack for IE7 */
* + html .frame-header {
    display: inline; /* Elements with hasLayout and display:inline behave like inline-block */
}inline-block到frame-header元素。或者改变inline-block通过frame-header在CSS选择器。
                    IE7不正确地支持“内联阻止”,更多信息在这里:LINK
 Use可以使用:“ inline”代替。
您到底想达到什么目的?让我们举个例子,放在这里:http : //jsfiddle.net/