I have three HTML objects and want to arrange Previous button at the left side, Next button at right side and span in the middle inside a container div.
<PREVIOUS> |SPAN| <NEXT>
#btnPrevious
{
float:left;
}
#spanStage
{
font-weight:bold;
vertical-align:middle;
}
#btnNext
{
float:right;
}
<div>
<input type="button" value="Previous" id="btnPrevious"/>
<span id="spanStage">Stage 5</span>
<input type="button" value="Next" id="btnNext"/>
</div>
Just add
text-align: centerto your wrapper to set the horizontal alignment of all non-floating/non-positioned children:<span>are inline elements by default. Thus you either have to usedisplay:blockon them and style them appropriately, or just tweak the parent style a little bit. Since there are no other children than the<span>and the<button>s your best of with this simple solution.Note that
text-align:<value>gets inherited from the parent, so if you want to include something else in your wrapper you should check whethertext-align:centeris okay for you. Otherwise usetext-align:<value>in the specific element, wherevalueisleft,right,centerorjustify.JSFiddle Demo