内联块在Internet Explorer 7,6中不起作用

web*_*ers 77 css internet-explorer internet-explorer-7 internet-explorer-6

我有这个CSS代码inline-block.任何人都可以告诉我如何使它在Internet Explorer 6和7中工作.任何想法?也许我做错了什么?谢谢!

#signup {
   color:#FFF;
   border-bottom:solid 1px #444;
   text-transform:uppercase;
   text-align:center;
}
#signup #left {
   display: inline-block
}
#signup #right {
   background-image:url(images/signup.jpg);
   border-left: solid 1px #000;
   border-right: solid 1px #000;
   display: inline-block; 
   padding:1% 2%
   width:16%;
}
#signup #right a { font-size:100%; font-weight:bold } 
#signup #right p { font-size:90%; font-weight:bold }
#signup a:hover  { color:#FFF; text-decoration:underline }
Run Code Online (Sandbox Code Playgroud)

thi*_*dot 181

在IE6/IE7中,display: inline-block仅适用于自然内联的元素(例如spans).

要使其适用于其他元素,例如divs,您需要:

#yourElement {
    display: inline-block;
    *display: inline;
    zoom: 1;
}
Run Code Online (Sandbox Code Playgroud)

*display: inline使用"安全"的CSS hack 适用于IE7及更低版本.

对于IE6/7,zoom: 1提供hasLayout.拥有"布局"是display: inline-block始终工作的先决条件.

可以在保留有效CSS的同时应用此变通方法,但它并不值得考虑,特别是如果您已经使用任何供应商前缀属性.

阅读本文以获取更多信息display: inline-block(但忘记了-moz-inline-stack,这只是现在古老的Firefox 2所必需的).