简体   繁体   中英

Making a <div> inherit the height of parent (<td>) using only css?

http://jsfiddle.net/ZAvDd/

As my table row grows in height, I'd like my div inside to automatically match it as well.

For the code above, my div 's height is always 0 .

I understand that the height:inherit only works when you explicitly state the height of the parent ( <td> ) but I don't want to do that because I have no idea what content height will be displayed there.

Is there any css trick to do this or do I have to resort to some JS?

You cannot using a height rule, but you can still achieve the effect you're after by positioning the div absolutely. Since this changes the layout of the div, you will then have to apply the width to the td instead:

td.fooed {position:relative; width:30px;}
td.fooed .foo {
    position:absolute; top:0px; left:0px; right:0px; bottom:0px;
    background:gray;
}

Here's your fiddle: http://jsfiddle.net/ZAvDd/2/

What is the purpose of your div?

Your div has currently a height of 0 (zero) because it's empty. What you can do is apply the style directly to your parent td by adding a class to it:

<td class="bar">

And style it accordingly:

.bar { background: gray;}

It really depends on the purpose of your div.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM