为什么IE会显示这个100%高度内容的垂直滚动条?

时间:2011-06-25 16:56:56

标签: html css silverlight internet-explorer

我有一个Silverlight视频播放器,我希望以“100%浏览器宽度/高度”模式显示(即不是全屏,但填满整个浏览器显示区域)。

常规玩家:http://play.nimbushd.com/lfu53b5

全屏版:http://play.nimbushd.com/lfu53b5/fullscreen

我几乎尝试了DOM中的每个节点,并将宽度/高度设置为100%,边距为:0px,填充:0px。似乎在Firefox中运行良好。那么,为什么IE会在底部显示一个带有小空格的垂直滚动条?

编辑:由于此问题已修复,因此简短说明:ASP.NET <form>标记中的100%高度/宽度Silverlight控件仅在IE中溢出一小部分因为form代码。

2 个答案:

答案 0 :(得分:12)

此行为是由<form>中的内联元素引起的 - 内联元素始终呈现line-height像素值。以下任何CSS规则都将修复它:

form { font-size: 0; }

form * { display: block; }

或者,您可以尝试摆脱<form>的所有内联后代(包括文本节点) - 但我不确定它是否真的有效(未经测试)。此外,它会使您的标记难以维护(您需要删除所有换行符等等......可以在部署期间完成,但我认为这样做太过分了。)

答案 1 :(得分:3)

你需要在html中使用这个样式:

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

请注意,这会将样式应用于htmlbody,以强制html元素的高度到视口高度,因此也强制身体。