1

Active-X または .NET WebBrowser コントロール (Active-X の薄いラッパー) コントロールを使用して WebBrowser コントロールをウィンドウに埋め込むと、max-widthなどの@media css 属性が尊重されないようです。与えられた {フィドル}:

<html>
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- necessary for tablets -->
    <style>
    #redBox  {
        background-color: red;
    }

    #blueBox {
        background-color: blue;
    }

    @media (max-width: 1000px) {
        #redBox {
            display: none;
            height: 0px;
        }
    }
    </style>
</head>
<body>
    <div id="redBox">  Red Box  </div>
    <div id="blueBox"> Blue Box </div>
</body>
</html>

ウィンドウを 1000px より小さくすると、赤いボックスが消えるはずです。

これは、Chrome、Firefox、および IE で機能します。ただし、.NET コントロールを使用する WebBrowser コントロールWebBrowser、または Active-X コントロールを使用するアンマネージ アプリケーションでページをロードするShell.Explorerと、変更が機能しません。file:///属性を使用してロードするか、http でロードするかは問題ではありません。

それを機能させる方法はありますか?

4

2 に答える 2

3

追加してみてください: <meta http-equiv="X-UA-Compatible" content="IE=9"> を html に追加します。

IE9 以上のバージョンであることを確認してください。WebBrowser コントロールには、ローカル PC にセットアップされた Ie のすべての機能があります。

于 2014-01-31T13:15:25.440 に答える
0

私は同様の問題を抱えています...

私が考えることができる唯一の解決策は、JavaScript の回避策です。たとえば、screen.availWidth など、画面の幅に応じて JS を介して目的の CSS 属性を設定します。

于 2013-11-04T09:48:04.207 に答える