css - Firefox、IE9+ 问题,div 高度在 td 内为 100%(Chrome 上的工作示例)

标签 css html html-table

拿这个:http://jsfiddle.net/zVscL/4/

.edit-me {
height:100%; /*does not behave the same as Chrome*/
width:10px;
border:1px solid blue;
background:red;
float:left;
overflow: auto;
}

在 Chrome 上打开页面,然后在 Firefox 上打开。蓝色div不继承

有没有解释为什么会这样?任何修复?纯 HTML/CSS 解决方案更可取。

我已经花了好几个小时试图让 CSS 正常工作,而当我最终做 FF 时,它做到了。耗尽我的开发时间。

最佳答案

尝试将 trtd 的高度设置为 100%:

tr, td { height: 100%; }

一般来说,要使 height: 100% 正常工作,还必须设置元素父元素的所有高度。

编辑:

另一种解决方案是将 td 的内容用容器 div 包裹起来,并使用绝对定位来确保 .edit-me div 实际上具有 100% 的高度。

这是 HTML 的样子:

<table border="1">
    <tr>
        <td>
            <div class="container">
                <div class="edit-me"></div>
                Foo
                <br/>
                Bar
            </div>
        </td>
        <td>hello</td>
    </tr>
</table>

和CSS:

.container {
    position: relative;
    padding-left: 10px;
}

.edit-me {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;

    width:10px;
    border:1px solid blue;
    background:red;
    overflow: auto;
}

希望这对您有所帮助!

关于css - Firefox、IE9+ 问题,div 高度在 td 内为 100%(Chrome 上的工作示例),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15050594/

相关文章:

php - 打破盒子中的一长串值

html - 在浏览器中有效地表示大网格

css - IE 在图像后留下不必要的空间

html - Angularjs:如何根据用户输入更新表的值?

javascript - 在 html 页面上,javascript 是通过编程操作 DOM 的唯一方法吗?

css - 有没有办法将 css 伪类用作 lesscss 编译器的混合?

javascript - 是否可以在CSS3或Javascript中将字母映射到圆柱体或球体?

html - 使用 HTML5 播放 HLS

html - 是否有任何理由在 html 中使用 <p> 标签而不是 <pre> 标签

html - 仅使用 CSS 更改表格行中的布局