margin-left: auto и margin-right: авто не работает при вводе - PullRequest
41 голосов
/ 10 февраля 2012

У меня есть вход в форме, которую я пытаюсь выровнять в центре. Обычно margin-left:auto и margin-right: auto не отвечают, когда display: block не добавлен в CSS. Я добавил display: block в свой CSS, но он не отображается так, как мне бы хотелось.

Я сделал JSFiddle, чтобы его было легче понять: http://jsfiddle.net/XnKDQ/97/

Ответы [ 7 ]

67 голосов
/ 10 февраля 2012

Чтобы margin: 0 auto; работал, в дополнение к display:block необходимо указать width.

5 голосов
/ 20 ноября 2015

В моем случае, это было float: left, о котором я забыл.Поэтому убедитесь, что вы применили float: none к своему полю ввода.

У вас уже есть display: block и margin: 0 auto, вам просто нужно установить ширину.

Пример, который должен работать:

input{
     width:50% !important;
     margin:0 auto !important;
     display:block !important;
     float:none !important;
}

Если это не сработает, попробуйте добавить !important к значениям или убедитесь, что ваш стиль не перезаписан чем-то другим.

4 голосов
/ 10 февраля 2012

Я нашел решение для вас

Вы должны указать элемент ширина

input {
  display: block;
  width: 60px;
  margin: 10px auto;
  padding: 3px;
}
0 голосов
/ 24 ноября 2018

Вы можете сделать что-то вроде этого:

input {
  width: fit-content;
  margin: auto;
}
0 голосов
/ 02 мая 2017

В зависимости от всего, вы можете проверить, есть ли у вашего тела положение параметра.Может быть установлен на фиксированный.

0 голосов
/ 26 мая 2016

в дополнение к указанию ширины и блока отображения также проверьте, установлено ли для свойства float значение none.

0 голосов
/ 10 февраля 2012

Вы хотите, чтобы три формы вместе были выровнены по центру?Оберните их в один div и центрируйте вместо этого div.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...