2012-08-27 30 views

回答

1

这是因为IE 7及更低版本不支持默认block元素上的display:inline-block

如果你想与display:inline-block的元素,您可以:

  • 使用默认inline元素(例如<span>),并设置display:inline-block
  • 使用默认block元素(例如<div>),并设置display:inline

你有<div>元素,所以你需要:

<!--[if lte IE 7]> 
<style type="text/css"> 
.dialog-button, .horizontal-dialog-divider { 
    display: inline; 
} 
</style> 
<![endif]--> 

见这里:http://jsfiddle.net/uQUTc/1/

它适用于IE7,但也许对IE6这招不起作用(我没有,所以我不能测试它)。

但是,严重的是,为什么你要为IE6编程?这是非常古老的,它不是一个兼容的浏览器。

编辑:

如果要对齐的元素,你可以使用

.dialog-button,.horizontal-dialog-divider,.dialog-text{vertical-align:middle} 

见这里:http://jsfiddle.net/uQUTc/3/

+0

我只是在看到duskwuff的解决方案后试过这个。看到我对他的解决方案的评论。它在大多数情况下工作,但按钮错位:[新页面图像](http://i.imgur.com/ILXE2.png) – user886596

+0

@ user886596固定使用'vertical-align:middle' – Oriol

1

因为IE6不支持display: inline-block

+0

添加显示:内联的确定,分隔线和取消似乎大部分工作,但两个按钮不完全对齐IE6。取消链接明显低于按钮。以下是IE6中的更新页面:[新页面图像](http://i.imgur.com/ILXE2.png) – user886596

+0

嗯,是的 - 'display:inline-block'与'display:inline'是分开的一个原因。 – duskwuff

0

我想你最好能够使用列表元素,带浮点数:左

<ul> 
<li>Ok</li> 
<li>Cancel</li> 
</ul> 

ul li {list-style:none; float:left; padding:10px}