5

在带有 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>
4

2 回答 2

2

我终于找到了答案。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$系统有解决方案。

这个问题与IE9 WebBrowser Control 是否支持 IE9 的所有功能(包括 SVG)有关?

于 2013-06-17T14:22:49.840 回答
0

而不是 Inline-block 你必须使用 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*/
}
于 2013-06-12T05:05:31.357 回答