Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Make the background-color of a <div> fill the enclosing <td>

I have an HTML table whose cells contain divs with display:inline-block, containing text of varying sizes.

I need the text to align on the baseline, and I need the background colors of the divs to fill the height of the cells. For the largest font, the background color does fill the cell, but it doesn't for the smaller fonts:

How it looks in Firefox

Is this possible? Obvious solutions like div { height:100% } seem to be scuppered by the varying font sizes.

Here's the code so far:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <style type="text/css">
    table td {
        vertical-align: baseline;
        padding: 0;
    }

    td div {
        display: inline-block;
    }
  </style>
</head>
<body>
    <table>
        <tr>
            <td style="background-color:cyan">
                <div style="background-color:pink;">Pink</div>
                <div style="background-color:green;">Green</div>
            </td>
            <td style="background-color:cyan">
                <div style='font-size: 40pt; background-color:yellow;'>
                    Big yellow text
                </div>
            </td>
            </tr>
  </table>
</body>
</html>

It's also on jsfiddle here.

like image 820
RichieHindle Avatar asked Dec 01 '11 16:12

RichieHindle


3 Answers

Not perfect, but the closest I could get:

http://jsfiddle.net/gfPkV/14/

like image 101
ptriek Avatar answered Oct 16 '22 06:10

ptriek


Quick and dirty fix:

CSS

div {
    line-height:60px;
    height:60px;
    vertical-align:middle;
}

Demo: http://jsfiddle.net/2YbBg/

like image 2
AlienWebguy Avatar answered Oct 16 '22 06:10

AlienWebguy


I read once, that td does not report it's height. So any height: 100% or height:auto, etc.. won't work.

So my solution is here: http://jsfiddle.net/UGTYP/

It changes height of "pink" text to the height of "yellow" div with javascript.

like image 1
JercSi Avatar answered Oct 16 '22 08:10

JercSi