html - Chrome/IE 和 FireFox 中表格的 100% 高度不同

标签 html css html-table

问题是,所有元素(主容器、表格容器和表格本身)的高度都必须为 100%。表格本身在 Chrome 和 IE 中的尺寸比在 Firefox 中略小,这导致 .table-container 和表格边框之间的间隙很小。

有人知道如何解决这个问题吗?我为此花了将近一整天的时间,并不能简单地找到解决方案。将不胜感激任何帮助。

这是解决我当前问题的链接:fiddle link

<div class="container">
    <div class="buttons">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
    </div>
    <div class="table-container">
        <table>
            <thead>
                <tr>
                    <td>1</td>
                    <td>2</td>
                    <td>3</td>
                    <td>4</td>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td>a</td>
                    <td>b</td>
                    <td>c</td>
                    <td>d</td>
                </tr>
                <tr>
                    <td>aa</td>
                    <td>bb</td>
                    <td>cc</td>
                    <td>dd</td>
                </tr>
                <tr>
                    <td>aaa</td>
                    <td>bbb</td>
                    <td>ccc</td>
                    <td>ddd</td>
                </tr>
            </tbody>
        </table>
    </div>
</div>

和 CSS:

html, body, .container, .table-container, table
{
    height: 100%;
}

.container
{
    display: block;
    width: 500px;
    margin: 0 auto;
    text-align: center;
}

.table-container
{
    width: 100%;
    border: 1px solid red;
    padding-top: 30px;
    margin-top: -30px;
}

.buttons
{
    height: 30px;
}

.buttons div
{
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    width: 25%;
    float: left;
    height: 30px;
    border: 1px solid black;
}

table
{
    border: 1px solid black;
    width: 100%;
    border-spacing: 0;
}

thead td, tbody td
{
    width: 25%;
    height: 25%;
}

更新:为 .table-container 添加了填充和负边距
Update2:为示例添加了 border-spacing 和 border-collapse。仍然无法正常工作。
Update3:现在它在这里工作,这意味着我无法完全重现我的错误来向您展示:(但一般来说,问题是 Chrome 中 5x5 表格的高度是小于 FF 上的 22px,这是表格容器和表格本身之间的 22px 间隙。每个单元格在 Firefox 中大约有 4px + 到表格高度。

最佳答案

好像是表格的边框间距。

将此 CSS 应用于表格元素:

border-spacing: 0;

关于html - Chrome/IE 和 FireFox 中表格的 100% 高度不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16169171/

相关文章:

html - 如何使html表格响应?

html - 嵌套列的好习惯?

javascript - 如何使用 jQuery 禁用 CSS 规则?

html - 无法让我的 div 显示内联

javascript - 如何使用javascript获取表格中的所有Div

jQuery ui 可单行拖动表格

jquery - 获取div中div的顺序

html - Bootstrap : How can I keep responsive images the same height even if they are not?

jquery - Bootstrap w. Kendo UI - 响应式表格

html - 在同一栏上显示 Logo 和导航