在带有IE8的Windows 7上,我发现display: inline-block
效果很好。但是,在我将html文件编译成chm后,chm中的页面显示不正常,好像inline-block
没有任何效果。
有没有办法让chm显示与IE8相同?谢谢。
我的html来源是:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>title to fill</title>
<meta charset="utf-8">
<style type="text/css">
#topcanvas {
z-index: 0;
top: 0;
left:0;
width:100%;
}
#chjnavi {
font-size: 10pt;
background-color: #eee;
padding: 0em 1em;
list-style-type: none;
position: relative;
z-index: 0;
}
#chjnavi ul {
margin: 0;
padding: 0;
}
#chjnavi li {
margin: 0;
padding: 8px;
display: inline-block;
/* !!! */
cursor: pointer;
}
</style>
</head>
<div id="topcanvas">
<div id="chjnavi">
<ul id="navibar_topul">
<li id="gentoc-t">item 1</li>
<li id="codecolor-t">item 2</li>
<li id="linenum-t">item 3</li>
</ul>
</div>
</div>
<p> My text. </p>
</body>
</html>
答案 0 :(得分:2)
我终于找到了答案。 A post at west-wind.com告诉我,我需要做一个注册表黑客让CHM阅读器(hh.exe)使用IE8渲染模式,否则,hh.exe最多使用IE7。
注册表黑客是:将以下代码保存到.reg文件,然后双击以导入到注册表中。
REGEDIT4
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION]
"hh.exe"=dword:00001f40
行。至少有IE8 M $系统的解决方案。
此问题与Will the IE9 WebBrowser Control Support all of IE9's features, including SVG?
有关答案 1 :(得分:0)
而不是内联块你必须使用float:left;对于IE8,因为它不支持Inline-block的属性;
这就是您必须添加到代码中的内容。
#chjnavi li {
margin: 0;
padding: 8px;
display: inline-block;
cursor: pointer;
float:left\9; /* This works for IE8 and below so apply this to your code*/
}