Div Not Center Using class="center-block" in Bootstrap
Demo Fiddle
You need to add the class text-center
to the div
with the id
panel-body
.
Change your HTML to:
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">Hanoi Tower</div>
<div class="panel-body text-center">
<canvas id="stage" class="center-block" width="400" height="220" style="border:1px black solid "></canvas>
<div id="ctrl" class="center-block">
<label for="numsel">Disc Number:</label>
<select id="numsel">
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
</select>
<button class="btn btn-default" id="start" value="start">Start</button>
<label for="step">Step:</label> <span class="badge" id="step">0</span>
</div>
</div>
</div>
</div>
Or change your CSS to add:
.panel-body{
text-align:center;
}
All the class center-block
does is to tell the element to have a margin of 0 auto
, the auto
being the left/right margins. However, unless the class text-center
or css text-align:center;
is set on the parent, the element does not know the point to work out this auto
calculation from so will not center itself as anticipated.
Add this class in your css
.center-block{
text-align: center;
}
DEMO
You can either use a fixed with (say 400px) and margin: 0 auto;
.center-block{
width: 400px;
margin: 0 auto;
}
DEMO
Or you can just use text-align: center;
.center-block{
text-align: center;
}
DEMO2