Msg#: 4055603 posted 12:57 am on Jan 7, 2010 (gmt 0)
I have run into this problem often but I just can remember the workaround for it. I have a div set to 100% inside another div of fixed width. I then have padding of 40px on each side of the div but this makes the inter div break out of the container div by 80px;
Msg#: 4055603 posted 1:56 pm on Jan 7, 2010 (gmt 0)
actually it's firefox. I got it working by putting it in a container So then I end up with 3 nested divs first has like a width of 500px; second has a width of 100% and the third has the padding of 40px; i though it was similar to the box model problem too with firefox?
Msg#: 4055603 posted 2:58 pm on Jan 7, 2010 (gmt 0)
Unless the div has a display of block, the div will automatically have a 100% width (stretch to the limits of its container). So all you really need is a fixed width div and an internal div with the padding (don't declare a width). No need for the third container div. Unless I am missing something?
Note: Firefox will add the width of a div plus its padding. So if you have a 500px div with a padding of 40px on the left and right, Your div will more than likely be 580px.
Msg#: 4055603 posted 1:57 am on Jan 8, 2010 (gmt 0)
Just not assigning 100% width would give the effect you seek as blocks take up all the available width in their parent by default.
This will only happen if the block is in the normal flow. In any other situation, the box's computed width will change based on the shrink-to-fit algorithm.
FYI, the CSS3-UI module includes the 'box-sizing' property which gives the browser the ability to alter the box model, so that any 'padding' and/or 'border' values are computed _inside_ of a specified width.