css - 为什么不能使用iframe绝对定位来设置高度/宽度

标签 css html iframe

我的问题类似于IFRAME and conflicting absolute positions ,但我特别想知道为什么您不能在 iframe 中同时设置左/右或上/下并使其正常工作。

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
iframe { position: absolute; display: block; top: 0; bottom: 0; left: 10px; width:100px;   border: 1px solid black;}
div { position: absolute; display: block; top: 0; bottom: 0; left: 200px; width:100px;  border: 1px solid black;}
</style>
</head>
<body>
<iframe></iframe>
<div></div>
</body>
</html>

div 占据整个浏览器高度。 iframe 的高度为 150 像素。在 Chrome 17、Firefox 11 和 IE9 中也是如此。显然这不是浏览器的怪癖。 HTML5 规范中有一些规定,您不能在 iframe 上同时设置左/右或上/下以设置高度。

iframe 有什么特别之处(相对于 div)?

最佳答案

它只是行不通。这就是 iFrame 的制作方式。

如果您仍然想达到相同的解决方案,那么您可以使用 div 作为具有绝对位置的包装器,即顶部、左侧、右侧、底部。 将您的 iFrame 宽度 width:100% 和 height:100% 放入该 div。

问题已解决。

关于css - 为什么不能使用iframe绝对定位来设置高度/宽度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794359/

相关文章:

firefox - html5media 库不适用于 FF 3.6.3

php - 从嵌入的 iframe 代码中获取 YouTube 视频 ID

php - 将动态变量发送到 SASS

jquery - 无法将 CSS 规则应用于引导可折叠菜单

javascript - 使用 jquery 单击后淡出按钮

php - 使用 PHP 关闭或修复损坏的 img 标签

100% 宽度 div 内的 CSS 中心 ul 列表

javascript - 如何将具有特定类的div的内容添加到其他页面?

javascript - jQuery - 在页面上隐藏和显示特定的 iFrame

javascript - 使链接在新页面上的 iframe 中加载内容