为什么做出这个决定?是否有人担心设置height: 100%;
会产生一些负面影响?这不像人们不能设置height: 100000px;
(显然,不是一个好的工作)。
是否有某种参考可以告诉我这背后的推理?
我不确定这个论坛会被视为一个好问题,如果你认为这个问题不合适,请推荐一个更好的地方。
我想有人可能会这么说, 在HTML 4.01中将高度作为百分比应用于iframe有什么缺点? (除了HTML 4.01之外)已经过时了)
答案 0 :(得分:2)
&#39>放弃支持'您引用的只是使用内联height
属性。这被删除是因为内联属性混合了内容和样式,这是不好的做法;你的标记应该与它的表现完全分开。
<iframe>
元素确实可以占据其父级高度的100%
,但默认情况下它们是inline
元素。
要记住的重要一点是,使用百分比驱动值,这些值与立即父级相关。如果直接父母没有height
,则该元素不会自动从祖父母(或更高)继承height
:
div.outer {
background: cyan;
height: 300px;
}
iframe {
border: 5px solid red;
height: calc(100% - 10px);
}
&#13;
<div class="outer">
<div class="inner">
<iframe></iframe>
</div>
</div>
&#13;
这可以通过确保具有固定 height
的元素和具有基于百分比的height
的目标元素之间的每个元素都具有{{1同样设置:
height: 100%
&#13;
div.outer {
background: cyan;
height: 300px;
}
div.inner {
height: 100%;
}
iframe {
border: 5px solid red;
height: calc(100% - 10px);
}
&#13;
答案 1 :(得分:0)
HTML5 Section 4.7.19. Dimension attributes说
作者要求:img,iframe,embed,object,video等上的width和height属性,当它们的type属性处于Image Button状态时,可以指定输入元素以给出可视内容的维度元素(相对于输出介质的标称方向的宽度和高度),以CSS像素表示。如果指定了属性,则必须具有有效非负整数的值。
[...]
如果相关资源不具有固有宽度和固有高度,则必须省略这两个属性。
也就是说,当iframe中的资源具有固有宽度和固有高度时,仅以像素为单位使用高度和宽度才有效。高度和宽度应反映这些内在尺寸。因此,以百分比来指定它们是没有意义的,因为内在维度不是百分比。
百分比总是只是造型。所以它们应该在CSS中指定,而不是HTML。