デスクトップ アプリケーション内の WPF WebBrowser コントロールに表示する Web ページがあります。asp.net Button タイプから asp.net LinkButton に変更し、CSS スタイルを適用することで、デフォルトの灰色のボタンの代わりにスタイル付きボタンを使用するように Web ページを更新しました。
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 を表示しないという問題があり、テーブル レイアウトに切り替える必要がありました。インラインブロック表示タイプに対応していませんか?
重要な場合、これはページに対して宣言された doctype です。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">