37860


同じHTML・CSSコードを通常ブラウザ(パソコンにインストールされているIE及びChrome)で閲覧した場合と、C#
WebBrowserで表示した場合とで表示結果が異なってしまいます。  
現象は以下の通りです。

[正常] パソコンにインストールされているブラウザで表示  
[![](https://i.stack.imgur.com/Gp7YV.png)](https://i.stack.imgur.com/Gp7YV.png)

[問題] C# WebBrowserコントロールで表示  
[![](https://i.stack.imgur.com/8teVd.png)](https://i.stack.imgur.com/8teVd.png)

C#WebBrowserでは恐らくですがMarginプロパティがなぜか適用されているようで、横棒の縦間隔が広がってしまっているようです。

しかし、*{ margin:0; padding:0;} html,body{ margin:0;padding:0;}  
このようにマージン、パディングを0に設定しても問題の現象は治りませんでした。

Nugetパッケージ CefSharpという別のブラウザコントロールを使うことも検討致しましたが  
ライセンス関係加えて日本語の表示ができなく断念致しました。

もし何か少しでも原因・改善策問わずお分かりになられた方、ご教示頂けますようお願い申し上げます。

コードは以下の通りです。

C# WindowsFormsApplication

[code]

    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;
    
[/code]

通常ブラウザでの確認用HTML

[code]

    <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>
    
[/code]

開発・実行環境  
Windows8.1 64bit  
Visual Studio Community 2017  
Windowsフォームアプリケーション  
IEバージョン：11


CC BY-SA 3.0
2017-09-11T01:58:20.860
37858
2017-09-11T02:29:05.153
2020-06-17T08:14:45.997
-1
20645
question
c#
C# WebBrowserで意図しない余白が適用されてしまう


既定ではWebBrowserコントロールは作成された当時のIE7モードで動作します。[Browser
Emulation](https://msdn.microsoft.com/en-
us/library/ee330730\(v=vs.85\).aspx#browser_emulation)で説明されているようにレジストリでこの動作を変更できます。どのような値が適切かはドキュメントを参照し検討してください。  
なお、このレジストリ値はWebBrowserコントロールが読み込まれる前に設定されていればよいため、アプリケーション内で設定することも可能です。

>
[code]

>     HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
>       SOFTWARE
>         Microsoft
>           Internet Explorer
>             Main
>               FeatureControl
>                 FEATURE_BROWSER_EMULATION
>                   contoso.exe = (DWORD) 00009000
>  
[/code]


CC BY-SA 3.0
2017-09-11T02:29:05.153
37860
2017-09-11T02:29:05.153
4236
37858
answer