02 2022(Bootstrap 5.1)
我想通过使用CSS和Bootstrap 5.1来回答这个问题,以Google地图为例。
iFrame上的方法
CSS方法:您可以在style
属性中使用display:block
。
↓
-------------
<iframe src="SOURCE" width="600" height="450" style="border:0;display:block" allowfullscreen=""
loading="lazy"></iframe>
Bootstrap方法:使用d-block
类
↓
-------------
<iframe src="SOURCE" width="600" height="450" style="border:0;" class="d-block" allowfullscreen=""
loading="lazy"></iframe>
在iFrame父级元素上
CSS方法:如果您使用div
包装,则可以在父元素上使用line-height:0
。
↓
-------------
<div style="line-height:0">
<iframe src="SOURCE" width="600" height="450" style="border:0;" allowfullscreen="" loading="lazy"></iframe>
</div>
引导法:说到行高,Bootstrap 有四个行高类 lh-1
、lh-sm
、lh-base
、lh-lg
,它们适用于文本,但不幸的是它们在 iframe 上不起作用。此外,在父元素中添加 d-block
也不起作用,相反,您可以像 CSS 一样在 iframe 上使用 d-block
。
<div>
↓
<iframe src="SOURCE_HERE" width="600" height="450" style="border:0;display:block" allowfullscreen=""
loading="lazy"></iframe>
</div>
固定父元素高度
如果您的父元素高度是固定的,那么您可以将 iframe 设置为 height="100%"
,这将使 iframe 的高度与您的父元素匹配并扩展。
.parent{
height: 500px;
}
<div class="parent">
↓
<iframe src="SOURCE_HERE" width="600" height="100%" style="border:0" allowfullscreen="" loading="lazy"></iframe>
</div>
无法访问iframe元素
如果您无法控制iframe元素,则可以将父级高度设置为与iframe高度匹配。
.parent{
height: 450px;
}
<div class="parent">
↓
-----
<iframe src="SOURCE_HERE" width="600" height="450" style="border:0;display:block" allowfullscreen="" loading="lazy"></iframe>
</div>
width: 100%
无法关闭iFrame和<body>
之间的间隙。 - Brandon Franklin