Ala*_*ter 18 html css internet-explorer rendering
我的IE代码有一个恼人的渲染问题
CSS:
div {
display: inline-block;
margin-right:40px;
border: 1px solid;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div>element</div>
<div>element</div>
<div>element</div>
<div>element</div>
<div>element</div>
Run Code Online (Sandbox Code Playgroud)
这是它在firefox/chrome中的外观(预期的显示)
这就是它在IE中的样子
如果IE支持display:inline-block,我用google搜索,显然它确实如此.
Tim*_*ora 15
工作方案
以下似乎可以正常工作:
<!DOCTYPE html>
<html>
<head>
<style>
DIV {
display: inline-block;
*display: inline; /* leading asterisk IS correct */
margin-right:40px;
border: 1px solid;
zoom: 1; /* seems to fix drawing bug on border in IE 7 */
}
</style>
</head>
<body>
<div>element</div>
<div>element</div>
<div>element</div>
<div>element</div>
<div>element</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
回答历史
在IE9标准模式下适合我.在怪癖模式下无法正确显示(如您所述).
使用IE9进行测试:
欺骗IE7:
div {
display: inline-block;
*display: inline; /* leading asterisk IS correct */
margin-right:40px;
border: 1px solid;
}
Run Code Online (Sandbox Code Playgroud)
摘自这篇文章.在IE 7仿真模式下适用于我.
根据@SKS关于doctype的评论,我添加了一个指定了doctype的完整解决方案.
Sel*_*gam 13
将DOCTYPE添加到您的html中,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)
添加之后,它对我有用.
注意:在jsFiddle中,DOCTYPE是自动生成的,因此它可以在那里工作.
编辑1: 检查此信息以获取更多信息,
编辑2: 您可以在此处阅读有关内联块样式的更多信息
小智 5
对我来说,添加此代码:
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
Run Code Online (Sandbox Code Playgroud)
标题信息.