javascript - 带样式显示的div :table has wrong height

标签 javascript html css google-chrome firefox

我有一个 div,它用样式 display: table 包装了一个表格。表格包含高度为:500 像素的 div http://jsfiddle.net/9ucm7z9h/ :

<div style="width: 400px; display: table; background-color: blue;">
    <div style="height: 100px; background-color: green; overflow: scroll">
        <table style="width: 100%;">
            <tr>
                <td>
                    <div id="test" style="height: 500px; background-color: yellow;">&nbsp;</div>
                </td>
            </tr>
        </table>
    </div>
</div>

此代码在 IE 和 Chrome/Firefox 中呈现不同。这是一个 Chrome/Firefox 错误?我可以做些什么来强制它像在 IE 中一样呈现?

最佳答案

这似乎是一个可以通过某种方式触发布局来消除的错误。

首先,一个规则为display:table的子元素可能会变成display:table-row display:table-cell 默认情况下,即使不是通过 CSS 规则编写的。浏览器总是尝试更正或修复此处显然无法正常工作的内容。

尝试使用 floatdisplay:inline-block 触发布局,看起来它修复了显示为 table 的父项的不当行为,至少在 Firefox 中是这样。

http://jsfiddle.net/9ucm7z9h/3/

您可以找到错误报告 here .

关于javascript - 带样式显示的div :table has wrong height,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27925077/

相关文章:

css - 扩大 jumbotron 的高度以覆盖整个列的高度

html - 在 CSS 中以 % vs vw 更改高度时图像消失

javascript - slideToggle() 问题

javascript - Django:我怎样才能获取pdf文件的各个部分并跳转到它们?

javascript - HTML 添加两个输入

html - 为什么有些 URL 在 Web 浏览器中查看图像,有些只是触发文件下载?

javascript - 单击按钮时增加 CSS 属性

javascript - AngularJS - 重用 HTML 模板代码,无需 AJAX 调用

javascript - 访问另一个对象内的数组内的对象

javascript - 在 ExpressJS 中创建身份验证 header 。 Java 到 Javascript 的翻译