【问题标题】:Why does some CSS Function not work in my WPF WebBrowser Element?为什么某些 CSS 函数在我的 WPF WebBrowser 元素中不起作用?
【发布时间】:2021-11-22 23:05:37
【问题描述】:

所以我在 WPF 中有一个 Web 浏览器元素,并用一些带有 CSS 的 html 代码填充它。 Web 浏览器元素几乎显示了我在 CSS 部分中放置的所有内容。但唯一在 Web 浏览器元素中有效但在普通 HTML 文件中正常工作的东西是 Hover Effectnth-child 之类的东西。其他 CSS Stuff 正在工作并在 Web 浏览器中正确显示。

这里是我的 HTML 代码:

<style>
table tr{
background-color: #494D54;
color:lightblue;
font-family: Arial, Helvetica, sans-serif;
font-weight: bolder;
}
table tr:hover{
background-color: #636873;
}
table{
  border-collapse: collapse;
  width: 100%;
}

table td{
  border: 1px solid #ddd;
  padding: 8px;
}
.lb_table_subtitle{
    padding-top: 12px;
    padding-bottom: 12px;
    text-align: left;
    background-color:#114C88;
    color: white;
}

lb_table_subtitle:hover{
    background-color:#636873;
}
table tr:nth-child(odd){background-color: #2E3136;}
body {
    background-color:#494D54;
    border-radius: 50px;
}
</style>
&lt;table cellSpacing="0"  cellPadding="0" width="100%" class="lb_table"&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;Technische Spezifikationen&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Prozessor&lt;/td&gt;&lt;td&gt;Intel Xeon&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Prozessortyp&lt;/td&gt;&lt;td&gt;Xeon MP&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Anzahl der CPUs&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Anzahl der CPU-Steckplätze&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Prozessortakt (MHz)&lt;/td&gt;&lt;td&gt;1900&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Prozessor Cache (kb)&lt;/td&gt;&lt;td&gt;1024&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Front Side Bus - FSB (MHz)&lt;/td&gt;&lt;td&gt;400&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Arbeitsspeicher (GB)&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Festplattentyp&lt;/td&gt;&lt;td&gt;SCSI&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Grafikkarte onboard&lt;/td&gt;&lt;td&gt;ja&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Sound&lt;/td&gt;&lt;td&gt;nein&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Anzahl der Netzteile&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Bauart&lt;/td&gt;&lt;td&gt;Rack&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;Festplatten - weitere HDDs oder einzelne Rahmen auf Anfrage&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;36 GB SCSI&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Gesamtkapazität (GB)&lt;/td&gt;&lt;td&gt;36&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;max. Festplatten&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;Weitere Laufwerke&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;CD-ROM&lt;/td&gt;&lt;td&gt;ja&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Diskettenlaufwerk&lt;/td&gt;&lt;td&gt;ja&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;PCI-Devices onboard&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Device_1&lt;/td&gt;&lt;td&gt;Ethernet Pro 100&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Device_2&lt;/td&gt;&lt;td&gt;SCSI-Controller U160&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;Erweiterungssteckplätze&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PCI 64-bit 33MHz&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PCI 64-bit 66MHz&lt;/td&gt;&lt;td&gt;4&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PCI-X 133MHz&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" class="lb_table_subtitle"&gt;Anschlüsse&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;VGA&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Ethernet RJ45&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;PS/2&lt;/td&gt;&lt;td&gt;2&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Serial Port&lt;/td&gt;&lt;td&gt;1&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;USB&lt;/td&gt;&lt;td&gt;3&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

注意!:我无法更改包含表格的 Html 代码。因为我是从 SQL 数据中得到这个 html 字符串,只能添加 CSS 样式。

【问题讨论】:

  • 几年前 WPF WebBrowser 控件内部仍然使用基于 InternetExplorer.Application ActiveX 的浏览器引擎。也许它已经移植到 MS Edge,因为不再支持 IE。但在任何情况下,您都必须处理限制,例如关于 CSS 支持,WPF 浏览器引擎附带...显然它不支持所有现代 CSS 版本/元素...

标签: c# html css wpf webbrowser-control


【解决方案1】:

WPF 中的WebBrowser 控件在内部使用了一个有点过时的本机 ActiveX 控件。

如果您想要在您的应用中获得支持最新 HTML 和 CSS 的现代浏览器体验,您应该改用 WebView2 控件。

【讨论】:

    猜你喜欢
    • 2014-12-19
    • 1970-01-01
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-30
    • 1970-01-01
    相关资源
    最近更新 更多