2011-06-25 14 views
6

「100%ブラウザの幅/高さ」モードで表示するSilverlightビデオプレーヤーがあります(フルスクリーンではなくブラウザの表示領域全体がいっぱいです)。IEがこの100%の高さのコンテンツを含む垂直スクロールバーを表示するのはなぜですか?

正規プレーヤー:http://play.nimbushd.com/lfu53b5

フルスクリーン版:0PX、パディング:0PX http://play.nimbushd.com/lfu53b5/fullscreen

私は、ほぼすべてのDOMノードと余裕をもって100%に設定し、幅/高さを、試してみました。 Firefoxでうまく動作するようです。なぜ、IEは、底に小さな空白を持つ垂直スクロールバーを表示しますか?

編集:この問題は、固定されているので、簡単な説明:ためformタグのIEに少しだけオーバーASP.NET <form>タグ流出以内に100%の高さ/幅Silverlightコントロール。

答えて

12

この現象は、<form>内のインライン要素によって発生します。インライン要素は常にline-height相当のピクセルを描画します。

form { font-size: 0; } 

または

また
form * { display: block; } 

は、あなたが<form>のすべてのインライン子孫(これはテキストノードが含まれます)を取り除くために試みることができる - しかし、私はよ次のCSSルールのいずれかがそれを修正しますそれが実際に動作する(テストされていない)かどうかはわかりません。さらに、マークアップを維持するのが難しくなります(展開中にすべての改行などを取り除く必要がありますが、これはあまりにも遠すぎます)。

+0

パーフェクト!フォームタグがそれに影響を与えるかどうかはわかりませんでした。 font-size:0は素晴らしい作品です!ありがとう! – Brandon

+0

これについて考えてみると、Firefoxがその動作を示さないのは奇妙に思えます。私はこれがIE8標準のバグかどうか不思議です(IE7とIE8の奇妙なモードにはこの問題がありません;私は現時点でIE9をチェックできません)。あるいは、IE8は実際には標準に準拠しており、Firefoxは空白のみのテキストノードに関してより寛容です(これらはIEで問題を引き起こしていると思います)。 –

+0

どこかに空白があると疑われました。 +1、良い仕事。 – thirtydot

3

はあなたがHTMLでこのこのスタイリングが必要になります。これは、両方のhtmlbodyにスタイルを適用すること

<style type="text/css"> 
html, body { 
    height: 100%; 
    overflow: hidden; 
} 
body {margin: 0px} 
</style> 

注意をビューポートの高さにhtml要素の高さを強制するため、また、体内します。

関連する問題