将iFrame CSS设置为在加载期间显示:none

Sha*_*orm 9 html javascript css iframe jquery

我有这个:

<div class="upload_slide">
    <iframe class="upload_iframe" style="visibility:hidden;"></iframe>
</div>
Run Code Online (Sandbox Code Playgroud)

如果我然后将一些文件发布到iFrame并设置.upload_slidedisplay:none;,当它加载时,这会影响iFrame的加载还是检测加载完成的时间?

The*_*ver 8

不,通过将显示设置为无,不应损害iFrame的加载和加载检测。

CSS仅用于样式,不能影响DOM。

  • 在`&lt;img&gt;`(或其任何父对象)上设置`display:none`将阻止其加载。CSS *可以*影响DOM,但可惜不是&lt;iframe&gt;的。 (26认同)

rob*_*obC 8

应该没有问题,但如果有,一个好的技巧可以是将元素移出屏幕而不是隐藏它.你可以创建一个类

.offscreen{
    position: absolute;
    left: -5000px;
}
Run Code Online (Sandbox Code Playgroud)

您可以根据需要添加和删除.


Ric*_*nho 8

Firefox目前确实存在display:none的问题:

某些浏览器假设当"display:none"应用于替换元素(如Flash或iframe)时,不再需要该元素的可视信息.因此,如果稍后由CSS显示该元素,则浏览器实际上将重新创建可视数据表单.

我想iframe默认为"display:none;" 使浏览器跳过HTML的呈现,使标签没有任何尺寸.我将可见性设置为"隐藏"或将其置于页面之外,而不是使用"display:none;".

史蒂文帕利戈

链接