html - CSS 表大于指定值

标签 html css layout html-table

我正在编写一些代码来生成带有标题的“全屏”页面。我使用表格进行布局,使用 CSS 指定尺寸和格式。

表格的高度和宽度为 100% 以使其填充窗口/视口(viewport),这最初按预期工作。该表有两行,每行一个单元格。第一行的单元格高度为 20px,而另一行的单元格高度为 100% 以使其填充窗口的剩余空间。底部单元格内是一个 iFrame,设置为 100%x100% 以填充单元格。 iFrame 按预期工作,但表格未遵循其设置。

当页面在 IE 中呈现时,特别是我的目标浏览器,表格被拉伸(stretch)到视口(viewport)范围之外。具体来说,表格的尺寸增加了 20px。即使我将表格设置为固定高度,它仍然会在我设置的尺寸上增加 20px。我希望代码强制表格达到 100% 高度,顶部单元格为 20px,底部单元格专门占用表格高度的剩余可用空间,而不拉伸(stretch)表格。这在 Chrome 中完美运行,但 IE 始终使表格的高度为 100%+20px,即使 CSS 规则将其严格设置为 100% 高度。

下面是我的代码的简化版本:

    <table style=" height:100%; width: 100%;"><tr><td style="height: 20px;">
    {content header here}
    </td></tr><tr><td style="height: 100%;">
    {iframe with dimensions 100% x 100% here}
    </td></tr></table>

Chrome 中的结果完美显示。在 IE 中,包含的表格最终高了 20 像素并超出了视口(viewport),导致 iframe 底部的 20 像素超出了视口(viewport)。

最佳答案

这很正常。其中一个表格行的高度为“20px”,另一个表格行的高度为“100%”。

使用“height:auto”代替“height:100%”。

如果第一行的高度为 20px,这将强制浏览器计算距父元素的左页高度空间:

此外,如果您的表格有边框并且您的元素设置了一些填充或边距,“height:auto”可以避免潜在的问题。

关于html - CSS 表大于指定值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12880031/

相关文章:

html - 为什么 `max-width` 比 `min-width` 对于响应式电子邮件设计更好?

javascript - 在 HTML 代码中查找数字

css - 导航栏上的 Bootstrap 'affix' 打破了右边距

html - IE8 中的新属性

html - 两个全宽相邻的容器(每个容器都可以隐藏)

javascript - 滚动的顶部位置导致 Safari/IE 滞后

html - 当父标签有填充时,如何使 div 100% 宽度?

java - 如何将多个元素相互对齐?

html - 如何判断 HTML 元素是否离开了页面底部?

html - CSS:DIV 中的文本被截断