如何摆脱<embed />元素周围的空白区域?

时间:2009-04-03 03:33:36

标签: html css embed quicktime

摘要:100%宽度和高度的嵌入将其父项大小推至祖父母的宽度和高度的100%。如何让embed元素折叠它周围的所有空白区域,使其完全适合其父级的宽度和高度?

我有一个带有图片的页面,点击后会被播放快速电影的嵌入元素取代。

问题在于嵌入式电影周围有很多空白区域。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head><title></title></head>
    <body>
        <div style="border:1px solid #000;">
        <embed id="iframeMovie" height="100%" width="100%" controller="true" target="myself" href="" src="http://images.apple.com/quicktime/troubleshooting/mov/qt_installed.mov" type="video/quicktime"></embed>
        </div>
    </body>
</html>

视频的大小未知,那么如何在保持100%的高度和宽度的同时摆脱这个空白?

编辑:虽然它没有显示,但实际上我正在清除填充和边距。白色空间仍然存在。

编辑2:有问题的空白区域位于电影和黑色边框之间,而不是黑色边框和浏览器。

7 个答案:

答案 0 :(得分:4)

您是否清除了默认的浏览器边距和填充?否则,你需要这样做。

大多数人使用CSS重置样式来标准化浏览器的边距和填充。一个好用的是Eric Meyer的:CSS Reset

编辑:要删除嵌入下方的空间,请在嵌入上设置display:block。请参阅:http://media.nodnod.net/embed.html

答案 1 :(得分:1)

WOOHOO,我已经搜了很长时间才得到这个答案,我终于找到了它! 您必须将embed元素放在iframe或框架中的对象元素中:
iframe页面

<html>
<body>
<iframe src="sample.html" height="100%" width="100%">
</iframe>
</body>
</html>


iframe来源

<html>
<body>
<object height="100%" width="100%">
<embed src="sample.mov" height="100%" width="100%"/>
</object>
</body>
</html>

确保iframe,object和embed元素中的高度和宽度值相同。

答案 2 :(得分:0)

我不熟悉嵌入元素,但在我看来,当你将宽度设置为100%时,你将它设置为父元素的宽度,在这种情况下这是一个div而div占据整个可用宽度,因为它是一个块元素。

因此,您可以浮动周围的div或将其显示为内联,以使其大小适应内容而不是周围的可用空间。

答案 3 :(得分:0)

尝试在div和嵌入元素上设置float:left,就像这样。这将消除额外的空白区域。

<div style="border:1px solid #000; float: left; width: 100%; height: 100%;">
   <embed id="iframeMovie" height="100%" width="100%" style="float: left" controller="true" target="myself" href="" src="http://images.apple.com/quicktime/troubleshooting/mov/qt_installed.mov" type="video/quicktime"></embed>
</div>

答案 4 :(得分:0)

嗯...

这是一个丑陋的黑客,但你可以使用一个表:

<table width="100%" height="100%">
  <tr>
    <td align="center" valign="middle"><embed /></td>
  </tr>
</table>

答案 5 :(得分:0)

您是否使用DOM检查器验证空格不是嵌入的一部分?

另外,你可以将它放在panel / div / etc中并与css混淆:

position: relative; top: -10px; left: -10px; overflow: hidden;

答案 6 :(得分:0)

事实证明除了通过使用scale="aspect"使电影缩放到父级的大小之外,没有办法做到这一点。

虽然不是完美的解决方案,但现在必须要做。