2011-06-25 13 views
6

"% 100 tarayıcı genişliği/yüksekliği" modunda görüntülemek istediğim bir Silverlight video oynatıcım var (yani tam ekran değil, tüm tarayıcı görüntüleme alanını dolduruyorum).IE, neden bu% 100 yükseklik içeriğine sahip bir dikey kaydırma çubuğu gösteriyor?

Normal oyuncu: http://play.nimbushd.com/lfu53b5

Tam ekran versiyonu: 0px, dolgu: http://play.nimbushd.com/lfu53b5/fullscreen

I kenar boşluğu ile, DOM neredeyse her düğüm güvenilir ve% 100 genişlik/yükseklik belirledik 0 piksel. Firefox'ta harika çalışıyor gibi görünüyor. Öyleyse, IE neden altta küçük bir boşlukla dikey kaydırma çubuğu gösteriyor?

Düzenleme: bu sorun çözülene beri kısa açıklama: çünkü form etiketinin IE sadece biraz üzerinde bir ASP.NET <form> etiketi dökülmeleri içinde% 100 yükseklik/genişlik Silverlight kontrolü.

cevap

12

Bu davranış, <form> içerisindeki satır içi öğelerden kaynaklanır - satır içi öğeler her zaman line-height değer piksel oluşturur.

form { font-size: 0; } 

veya

Alternatif
form * { display: block; } 

, sen <form> tüm satır içi soyundan (bu metin düğümleri içerir) kurtulmak deneyebilirsiniz - ama ben: Aşağıdaki CSS kurallarının Herhangi bunu çözecektir Aslında çalışacağından emin değil (test edilmemiştir). Ayrıca, bu işaretlemeyi korumak zor olacaktır (tüm yeni satırları çıkarmanız gerekir ve bu gibi ... dağıtım sırasında yapılabilirdi, ama bence bu çok uzak).

+0

Mükemmel! Form etiketinin bunu etkileyeceğine dair hiçbir fikrim yoktu; font-size: 0 harika çalışıyor! Teşekkürler! – Brandon

+0

Bunu düşündüğümüzde, Firefox'un bu davranışı göstermemesi garip görünüyor. Bunun IE8 standartlarında bir hata olup olmadığını merak ediyorum (IE7 ve IE8 quirks modunda bu "sorun yok"; şu anda IE9'u kontrol edemiyorum). Ya da IE8 aslında standartlara uyumludur ve Firefox yalnızca boşluklu metin düğümleriyle ilgili daha bağışlayıcıdır (bunların IE'de soruna neden olduğuna inanıyorum). –

+0

Beyaz bir yerde sorun olabileceğinden şüpheleniyorum. +1, iyi iş. – thirtydot

3

Sen size html bu stil gerekir: Bu hem html ve body bir stil geçerli olduğunu

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

Not viewport yüksekliğine html elemanın yüksekliğini uygulamak ve bu nedenle de vücut için.

İlgili konular