2011-06-25 10 views
6

Mam odtwarzacz wideo Silverlight, który chcę wyświetlać w trybie "100% szerokości/wysokości przeglądarki" (tzn. Nie na pełnym ekranie, ale wypełniając cały obszar wyświetlania przeglądarki).Dlaczego IE wyświetla pionowy pasek przewijania z tą zawartością o wysokości 100%?

Zwykły gracz: http://play.nimbushd.com/lfu53b5

wersja Fullscreen: http://play.nimbushd.com/lfu53b5/fullscreen

Próbowałem prawie każdy węzeł w DOM i ustawić szerokość/wysokość do 100%, przy margin: 0px, padding: 0px. Wydaje się działać świetnie w Firefoksie. Dlaczego więc IE wyświetla pionowy pasek przewijania z niewielką białą spacja na dole?

Edit: Ponieważ kwestia ta jest stała, krótkie wyjaśnienie: w 100% wysokość/szerokość Silverlight kontrola w ramach ASP.NET <form> znaczników przelewa się tylko trochę w IE bo znacznika form.

Odpowiedz

12

To zachowanie jest spowodowane przez elementy śródliniowe w obrębie <form> - wbudowane elementy zawsze renderują wartość pikseli o wartości line-height. Każda z poniższych reguł CSS będzie to naprawić:

form { font-size: 0; } 

lub

form * { display: block; } 

Alternatywnie, można spróbować pozbyć się wszystkich potomków inline <form> (może to być węzły tekstowe) - ale jestem nie jestem pewien, czy to rzeczywiście działa (nie testowane). Poza tym oznaczałoby to, że twoje oznaczenia byłyby trudne do utrzymania (musisz usunąć wszystkie znaki nowej linii i takie ... może być zrobione podczas wdrażania, ale myślę, że to zbyt daleko).

+0

Idealny! Nie miałem pojęcia, że ​​znacznik formularza wpłynie na to; rozmiar czcionki: 0 działa świetnie !! Dzięki! – Brandon

+0

Myśląc o tym, wydaje się dziwne, że Firefox nie pokazuje tego zachowania. Ciekaw jestem, czy jest to błąd w standardach IE8 (tryb dziwactw IE7 i IE8 nie ma tego "problemu", nie mogę sprawdzić IE9 w tej chwili). A może IE8 jest w rzeczywistości zgodny ze standardami, a Firefox jest bardziej wyrozumiały, jeśli chodzi o tekstowe węzły tekstowe (ponieważ uważam, że to właśnie jest przyczyną problemu w IE). –

+0

Podejrzewałem, że gdzieś będzie problem. +1, dobra robota. – thirtydot

3

Trzeba ten stylizacji w was html:

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

pamiętać, że dotyczy to zarówno styl html i body egzekwować wysokość html elementu do wysokości rzutni, a więc również ciało.

Powiązane problemy