gpt4 book ai didi

javascript - 表格单元格中 iframe 底部的奇怪 "padding"效果

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:23 24 4
gpt4 key购买 nike

使用下面的代码,我试图达到以下设计:
1. 表格宽度/高度必须是浏览器窗口的 80%/70%。它的左侧单元格必须有 40% 宽。
2. 右侧单元格中的 iframe 必须填满所有可用空间,并且绝不能超出单元格的内边框。

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8' />
<title></title>
<style>
body {width:100%}
iframe {width:100%; overflow:auto; margin:0px; border:solid 2px red; background-color:white; -moz-box-sizing:border-box; box-sizing:border-box}
table {width:80%}
table, td {margin:0px; padding:0px; border:solid 1px black}
</style>
<script src="jquery.js"></script>
</head>
<body>
<table>
<tbody>
<tr>
<td style="width:40%">Cell 1</td>
<td style="background-color:blue">
<iframe src='iframe.htm'></iframe>
</td>
</tr>
</tbody>
</table>
<script>
$(window).load(function() {
$('iframe').height($(window).height()*0.7);
});
</script>
</body>
</html>

问题:
1. iframe 底部的蓝色细“填充”空间从何而来?如何让它永远不出现?
2. 是否有可能在没有以下情况的情况下实现此设计: a) 使用 javascript; b) 使用 CSS box-sizing 属性?

最佳答案

iframe 是“内联框架”的缩写,内联元素位于周围文本的基线上。基线允许下降部分('g' 的尾部等),空白是下降部分占用的空间(即使没有)。

iframe 上设置 display: block; 应该修复填充。

编辑:这里是 an updated version of @syedmohsin's jsFiddle ,它摆脱了 box-sizing 并为您修复了 80% width/70% height 问题。

CSS

html, body {
width:100%;
height: 100%;
}
iframe {
display:block;
overflow:auto;
border:solid 2px red;
width: 100%;
height: 100%;
margin:0;
}
table {
width:80%;
height: 70%;
}
table, td {
margin:0px;
padding: 0px;
border:solid 1px black;
}
td {
height: 100%;
padding: 0 3px 2px 0;
}
@media screen and (-webkit-min-device-pixel-ratio:0) {
td {
padding: 0 3px 0px 0;
}
}
@media screen\0 {
td {
padding: 0 3px 0px 0;
}
}

关于javascript - 表格单元格中 iframe 底部的奇怪 "padding"效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16849393/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com