C# WebBrowserで意図しない余白が適用されてしまう
同じHTML・CSSコードを通常ブラウザ(パソコンにインストールされているIE及びChrome)で閲覧した場合と、C# WebBrowserで表示した場合とで表示結果が異なってしまいます。
現象は以下の通りです。
C#WebBrowserでは恐らくですがMarginプロパティがなぜか適用されているようで、横棒の縦間隔が広がってしまっているようです。
しかし、*{ margin:0; padding:0;} html,body{ margin:0;padding:0;}
このようにマージン、パディングを0に設定しても問題の現象は治りませんでした。
Nugetパッケージ CefSharpという別のブラウザコントロールを使うことも検討致しましたが
ライセンス関係加えて日本語の表示ができなく断念致しました。
もし何か少しでも原因・改善策問わずお分かりになられた方、ご教示頂けますようお願い申し上げます。
コードは以下の通りです。
C# WindowsFormsApplication
string html = @"<meta http-equiv=""X-UA-Compatible"" content=""IE=edge"">
<meta http-equiv=""content-type"" charset=""utf-8"">
<meta name=""viewport"" content=""width=device-width, initial-scale=1"">
<style type=""text/css"">
<!--
html, body {{ padding: 0; margin: 0 }}
#humberger{
display: inline-block;
height: 24px;
width: 36px;
vertical-align: middle;
padding: 6px 0;
border: 2px solid #444;
border-radius: 4px;
}
#humberger div{
background-color:#444;
display: inline-block;
height: 4px;
width: 24px;
margin: 2px 6px;
border-radius: 2px;
}
--></Style>
<div id=""humberger"">
<div></div>
<div></div>
<div></div>
</div>";
webBrowser1.DocumentText = html;
通常ブラウザでの確認用HTML
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="content-type" charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<style type="text/css">
<!--
html, body {{ padding: 0; margin: 0 }}
#humberger{
display: inline-block;
height: 24px;
width: 36px;
vertical-align: middle;
padding: 6px 0;
border: 2px solid #444;
border-radius: 4px;
}
#humberger div{
background-color:#444;
display: inline-block;
height: 4px;
width: 24px;
margin: 2px 6px;
border-radius: 2px;
}
--></Style>
<div id="humberger">
<div></div>
<div></div>
<div></div>
</div>
開発・実行環境
Windows8.1 64bit
Visual Studio Community 2017
Windowsフォームアプリケーション
IEバージョン:11