Cross browser method to fit a child div to its parent's width

mate64 picture mate64 · Jul 6, 2011 · Viewed 191.9k times · Source

I'm looking for a solution to fit a child div into it's parent's width.

Most solutions I've seen here are not cross-browser compatible (eg. display: table-cell; isn't supported in IE <=8).

image showing intended result with a child div being the full size of it's parent, with inner padding

Answer

thirtydot picture thirtydot · Jul 6, 2011

The solution is to simply not declare width: 100%.

The default is width: auto, which for block-level elements (such as div), will take the "full space" available anyway (different to how width: 100% does it).

See: http://jsfiddle.net/U7PhY/2/

Just in case it's not already clear from my answer: just don't set a width on the child div.

You might instead be interested in box-sizing: border-box.