当我尝试在table后添加<br>
标记并使用winforms控件WebBrowser打开它时。
<!DOCTYPE HTML><html lang="en" xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
</head>
<body>
<table border="0" cellspacing="0" cellpadding="0" align="left" width="100%"> <tbody>
<tr>
<td style="background:#ffb900;padding:5pt 2pt 5pt 2pt"></td>
<td width="100%" cellpadding="7px 6px 7px 15px" style="background:#fff8e5;padding:5pt 4pt 5pt 12pt;word-wrap:break-word">
<div style="color:#222222;"><span style="color:#222; font-weight:bold;">Caution:</span> Test caution here.
</div>
</td>
</tr>
</tbody>
</table>
<br>
<div>
<p>Test string here.</p>
</div>
</body>
</html>
它似乎没有在文本中插入单个换行符。
但它在Edge和Chrome中都能正常工作。
"为什么"
我知道有一些变通方法可以处理这个问题,比如"在表后面添加doube <br>
"
</table>
<br>
<br>
<div>
或删除align="left"
<table border="0" cellspacing="0" cellpadding="0" width="100%">
但是,有什么方法可以一劳永逸地解决这个问题吗?而不是手动修改每个html文件。
2条答案
按热度按时间lc8prwob1#
如果无法更改HTML内容,可以将浏览器模拟设置为更高的IE版本,如代码中的IE11 Edge模式。例如,加载表单时,在设置浏览器内容之前:
如需了解更多信息:How can I get the WebBrowser control to show modern contents?
p4rjhz4m2#
您应该添加一个指定模拟模式的meta标记,将其设置为Internet Explorer 11(IE系统中可用的最新版本):
这就给出了预期的行为。
您可以创建一个简单的过程,在文件中的
<head>
后面批量添加此行。如果可能,最好迁移到WebView2以获得Edge-Chromium * 体验 *
参见:Introduction to Microsoft Edge WebView2