WebBrowser 样式未在 WinForms 中正确应用

Posted

技术标签:

【中文标题】WebBrowser 样式未在 WinForms 中正确应用【英文标题】:WebBrowser style not applying properly in WinForms 【发布时间】:2013-01-22 13:08:33 【问题描述】:

这是我在 WinForms 应用程序中使用的 html 代码:

<html>
<head>
<style>
    #vif 
    margin:20px 5px 5px 5px;
    background-color:#888;
    
    #inf li 
    margin-left:40px;
    color:#fff;
    
    #inf 
    margin-top:15px;
    padding-bottom:15px;
    display:inline-block;
    
</style>
</head>
<body>
<div id="vif">
    <div id="inf">
        <li>Hello!</li>
    </div>
</div>
</body>
</html>

当我个人保存并使用IE9显示时,它工作正常,但是当WebBrowser使用它时,#inf上的margin-top没有应用。为什么?我用的不是同一个IE吗?相同的代码显示不同!

正确的渲染应该有一个灰色框,周围有边距,白色文本应该固定在中间。

如何使用WebBrowser正确显示?

【问题讨论】:

你有什么IE版本? @AlexFilipovici IE10,但这也适用于 IE9,但他们不是说 WebBrowser 与您的 IE 相同吗? 见***.com/a/4613025/43846 【参考方案1】:

将以下内容添加到 HTML 的标题部分:

<meta http-equiv="X-UA-Compatible" content="IE=9" >

【讨论】:

再次感谢您的帮助!和 CodeCaster 的【参考方案2】:

如果问题确实是兼容性问题,请参阅this question:

WebBrowser 控件将使用您安装的任何版本的 IE,但出于兼容性原因,它将默认以 IE7 标准模式呈现页面。

如果您想利用新的 IE9 功能,您应该在 HTML 页面的 &lt;head&gt; 标记内添加元标记 &lt;meta http-equiv="X-UA-Compatible" content="IE=9" /&gt;

【讨论】:

以上是关于WebBrowser 样式未在 WinForms 中正确应用的主要内容,如果未能解决你的问题,请参考以下文章

C# WebBrowser CSS 悬停样式不起作用(尽管配置了浏览器仿真)

在 C# winforms 中的同一表单上从一个 webBrowser 导航到另一个 webBrowser

在 WebBrowser 控件 WinForms 中使用 Chrome 引擎

Winforms WebBrowser 控件 URL 参数

Mono Winforms WebBrowser 错误 - 未找到 libgluezilla

在 WinForms WebBrowser 控件中设置常规文本大小选项