Самый простой способ - удалить CSS из HTML и удалить align:center
.
Таким образом button
естественным образом выравнивается влево.
div{
height:auto;
margin:0 auto;
border:1px solid blue;
}
form{
border:1px solid red;
width:50%;
margin:0 auto;
}
HTML
<div>
<form>
<button></button>
</form>
</div>
Пример: http://jsfiddle.net/kCt7k/
РЕДАКТИРОВАТЬ:
Мне нужно, чтобы кнопка была в центре.
Извините, неправильно истолковал это в оригинальной Q.
В этом случае вы можете использовать text-align:center
form{
border:1px solid red;
width:50%;
margin:0 auto;
text-align:center;
}
Пример 2: http://jsfiddle.net/kCt7k/1/
Однако это может мешать другим элементам в форме.
Вы можете просто установить button
как элемент block
и наложить на него поля.
button{
width:100px;
display:block;
margin:0 auto;
}
Пример 3: http://jsfiddle.net/kCt7k/2/