【问题标题】:How to fill DIV element into td parent?如何将 DIV 元素填充到 td 父级中?
【发布时间】:2014-01-03 13:40:41
【问题描述】:

实际上我在填写 TD 标签时遇到了一点问题。我会在插入到 TD 的 div 上看到 100% 的 td 设置高度

http://pastebin.com/Z4apksVw

如何将任何 div 填充到父级高度的 100%??

已解决

<?php 
`http://jsfiddle.net/s5rbv/`
?>

在 firefox 26 下工作,其他浏览器我不检查,因为我不需要

【问题讨论】:

  • 你能把你的问题说清楚吗?
  • 我需要一个 100% 高度为 TD rowspan="2" 的 div。
  • 如果您拉伸的原因是单元格上有背景颜色,只需将样式放在&lt;td&gt;上即可。
  • 不,必须是DIV
  • 我支持 xec,请解释一下除了拉伸 div 之外你还想做什么!你为什么要这样做?

标签: css


【解决方案1】:

对于您的问题:“如何将任何 div 填充到父高度的 100%??”只需将子元素的 div 高度设置为 100%,它将填充父元素的高度。

childDIv{
    height:100%;
}

编辑使用您提供的新信息,以下是您的问题的解决方案:

小提琴:http://jsfiddle.net/s4dDL/4/

HTML

<table>
<tr><td rowspan="2"><div>row 1 and 2</div></td><td>col 2</td><td>col 3</td></tr>
<tr><td>col 2</td><td>col 3</td></tr>
<tr><td>col1</td><td>col 2</td><td>col 3</td></tr>
</table>

CSS

*{margin:0;padding:0;}

table{
    border-collapse:collapse;
}

td{
    position:relative;
    height:100px;
    width:50px;  
    background-color:red;
}

td div {
    position:absolute;
    top:0;
    left:0;
    height:200px;
    z-index:10;
    background-color:green;    
}

您将 div 设置为绝对位置,并将左侧和顶部设置为 0 以将其设置为 td 元素的左上角,但需要将 td 设置为相对位置才能使其工作。然后将 div 的高度设置为 td 元素高度的 2 倍。但是要让它出现在第二行的顶部 (rowspan=2),您需要设置一个 z-index。

编辑

实际上,如果你填满了整个单元格,就不需要使用定位,而且无论如何它在 Firefox 上都不起作用。正如 cmets 中指出的那样。

这是一个更新的工作小提琴:http://jsfiddle.net/s4dDL/13/

【讨论】:

  • 不幸的是,这不会使div 延伸到tdjsfiddle.net/N8MG7
  • 整个问题来自于您的演示所缺少的行跨度。
  • 这还是不行,position: relative; 不能在 &lt;td&gt; 上工作。 stackoverflow.com/questions/4564638
  • 用 javascript 会很容易...你能用 javascript 吗?
  • 我很确定它只能使用 css 我不应该使用 JS
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-02
  • 2011-04-02
  • 1970-01-01
相关资源
最近更新 更多