将元素扩展到表格单元格的整个高度?

时间:2012-11-26 17:35:32

标签: html css

我正在尝试创建一个行表,每个行都在某个块元素中有一些内容(为了简单起见,我在这个例子中使用了DIV),其元素我想要拉伸到TD的整个高度细胞。在这个例子中,右边的“测试”文本应该包含灰色DIV,填满包含TD单元格的整个高度:

http://www.game-point.net/misc/browserTests/scratchpads/fullTableCellHeight/

我不想明确设置任何高度(除非可能达到百分比) - 在子DIV上设置height:100%不会改变其高度。有没有办法做到这一点?显然知道表格单元的渲染高度的浏览器绝对无法在不使用Javscript的情况下调整子元素的大小,这似乎很荒谬!

注意:我知道还有其他与此相似的问题,但它们似乎没有考虑到CSS3的新Flexbox功能 - 也许这可以解决这个问题?

2 个答案:

答案 0 :(得分:1)

您可以将父元素设置为相对定位,将子元素设置为显示块,它应该填充高度。在尝试获取链接文本以填充整个按钮容器时,我经常使用该技术。希望它转化为你想要做的事情,但由于你没有代码可以显示,我将在你使用它时给你一个真实生活场景的简短例子:

<div style="position:relative; width: 50px; height: 50px;">
    <a href="" style="display: block; width: 100%; height: 100%;">some link</a>
</div>

答案 1 :(得分:0)

Boris Zbarsky自己告诉我这样做是完全不可能的 - 让表格单元格的子元素填充单元格的全高 - 除非明确指定单元格的高度。如果他们愿意,浏览器制造商可能会做这项工作,但他们不会被打扰。