我有一个网页显示在桌面应用程序的 WPF WebBrowser 控件中。我刚刚更新了网页以使用样式按钮而不是默认的灰色按钮,方法是从 asp.net Button 类型更改为 asp.net LinkButton 并对其应用 CSS 样式:
a.btnSave
{
background: url(Resources/Images/btnSave.png) no-repeat 0 0;
display:inline-block;
width: 75px;
height: 23px;
text-indent: -9999px;
}
a.btnSave:hover {background-position: 0 -23px;}
a.btnCancel
{
background: url(Resources/Images/btnCancel.png) no-repeat 0 0;
display:inline-block;
width: 75px;
height: 23px;
text-indent: -9999px;
}
a.btnCancel:hover {background-position: 0 -23px;}
a.btnReset
{
background: url(Resources/Images/btnReset.png) no-repeat 0 0;
display:inline-block;
width: 75px;
height: 23px;
text-indent: -9999px;
}
a.btnReset:hover {background-position: 0 -23px;}
...
<asp:LinkButton ID="btnSave" runat="server" CssClass="btnSave" OnClick="btnSave_Click" OnClientClick="OnSubmit()" UseSubmitBehavior="False" Text=" " />
<asp:LinkButton ID="btnCancel" runat="server" CssClass="btnCancel" OnClick="btnCancel_Click" OnClientClick="OnSubmit()" CausesValidation="False" Text=" " />
<asp:LinkButton ID="btnReset" runat="server" CssClass="btnReset" OnClick="btnReset_Click" OnClientClick="OnSubmit()" CausesValidation="False" Text=" " />
当我在 IE 8(或 firefox)中查看页面时,按钮显示正确。但是当我在应用程序的 WebBrowser 控件中加载页面时,按钮丢失了。如果我将鼠标悬停在它们应该在的位置上,我不会收到手形图标,因此不仅仅是没有加载图像。当我查看源代码时,锚标记就在那里,如果我复制源代码并将其保存到 HTML 文件并在浏览器窗口中打开它,它们确实会正确显示。过去,我遇到了 WebBrowser 无法像浏览器那样显示浮动 div 的问题,不得不切换到表格布局。它不支持 inline-block 显示类型吗?
如果重要,这是为页面声明的文档类型:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">