How can I center the contents of a div that float: left?
css
Solution
Try adding this to the CSS:
.buttons
{
text-align:center;
margin: 0px auto 0px auto;
}
The auto makes the margins equal on each side. The text-align is a bodge for older browsers.
EDIT:
Add an extra div around the buttons called buttonwrapper. then apply this CSS
.buttonwrapper
{
position:relative;
float:left;
left:50%;
}
.buttons
{
position:relative;
float:left;
left:-50%;
}
Method taken (but not tested) from http://www.pmob.co.uk/temp/centred-float4.htm
Problem
I found this article and I decided that I liked the way they styled links and buttons. So I took the CSS from the article... ``` .buttons a, .buttons button{ display:block; float:left; margin:0 7px 0 0; background-color:#f5f5f5; border:1px solid #dedede; border-top:1px solid #eee; border-left:1px solid #eee; font-family:"Lucida Grande", Tahoma, Arial, Verdana, sans-serif; font-size:100%; line-height:130%; text-decoration:none; font-weight:bold; color:#565656; cursor:pointer; padding:5px 10px 6px 7px; /* Links */ } .buttons button{ width:auto; overflow:visible; padding:4px 10px 3px 7px; /* IE6 */ } .buttons button[type]{ padding:5px 10px 5px 7px; /* Firefox */ line-height:17px; /* Safari */ } *:first-child+html button[type]{ padding:4px 10px 3px 7px; /* IE7 */ } .buttons button img, .buttons a img{ margin:0 3px -3px 0 !important; padding:0; border:none; width:16px; height:16px; } ``` Then I have several buttons in a row I want to use like this... ``` <div class="buttons"> <a href="/password/reset/"><img src="pict1.png" class="positive" alt=""/>Button 1</a> <a href="/password/reset/"><img src="pict2.png" alt=""/>Button 2</a> <a href="/password/reset/"><img src="pict3.png" class="negative" alt=""/>Button 3</a> </div> ``` See this example: http://reljac.com/csstest.php But that row of buttons may need to be aligned center, not all to the right or left. If I change the CSS to... ``` .buttons a, .buttons button{ /*display:block; float:left;*/ margin:0 7px 0 0; ``` The buttons no longer appear correctly when there is an image, specifically in IE 6,7 & 8. See this example: http://reljac.com/csstest_wo.php I can change the float to right to get the buttons to align right but I can't figure out what to do to get them centered (like in a `<td></td>`). So the short of it is I want to use the style as it is but I also need to be able to center justify the buttons if necessary.