7

拿这个: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 时,我做到了。占用了我的开发时间。

4

1 回答 1

14

tr尝试将and的高度设置td为 100%:

tr, td { height: 100%; }

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

编辑:

另一种解决方案是td用容器包装 的内容div并使用绝对定位来确保.edit-mediv 有效地具有 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;
}

希望这可以帮助!

于 2013-02-24T10:06:56.780 回答