Подтвердить что ты не робот

Центрировать авто-ширину div?

У меня проблемы, потому что у меня есть div, который я хочу сосредоточить, и что у меня есть обычно было сказано сделать это:

width: 700px;
margin-left: auto;
margin-right: auto;

проблема в том, что вы хотите, чтобы div был фиксированной шириной. Я хочу, чтобы div настроить его размер на основе текста в div и по-прежнему центрировать. Я пробовал:

width: auto;
margin-left: auto;
margin-right: auto;

но это не сработало. Он растягивает div, чтобы заполнить экран, когда я это делаю.

Кто-нибудь знает, что делать здесь?

4b9b3361

Ответ 1

для родительского блока или тела - text-align:center; для centerd block- display:inline-block;

.center{display:inline-block;background:red}
body{text-align:center}

<div class="center">
    <p contenteditable="true">write text</p>
</div>

DEMO http://jsfiddle.net/RXP4F/

Редактируемый контент MDN

Ответ 2

Вы пробовали предложенный здесь подход? http://www.tightcss.com/centering/center_variable_width.htm

в принципе. поместите свой контент внутри плавающего div поместите этот плавающий div в другой плавающий div

положить левый: 50%, положение относительно внешнего div положить левый: -50%, положение относительно внутреннего div

наконец, вложите все в один div с переполнением: hidden

.outermost-div{
    background-color: blue;
    overflow:hidden;    
}

.inner-div{
   float:left;
   left:50%;
   background-color: yellow;
   position: relative;
}

.centerthisdiv {
   position:relative;
   left: -50%;
   background-color: green;
   float:right;
   width:auto;
}

вот моя демонстрация jsfiddle: http://jsfiddle.net/wbhyX/1/

Ответ 3

Попробуйте эту структуру.

<div class="container">
    <div class="center_div">

    </div>
</div>



.container{
    float: left;
    left: 50%;
    position: relative;
}
.center_div{
   position: relative;
   left: -50%;
   float: left;
}

Ответ 4

Использовать маржу: 0px auto; and display: table; Пример: https://jsfiddle.net/da8p4zdr/

Ответ 5

Возможно, вы захотите попробовать CSS display:table-cell или display:table

Ответ 6

Вы можете использовать display: flex и margin: 0 auto; для выравнивания по центру внутреннего div с автоматической шириной и указанной высотой.

.outer {
    width: 500px;
}

.inner {
    width: auto;
    height: 250px;
    display: flex;
    margin: 0 auto;
}

Ответ 7

Редакция:

используйте table, это может быть проще в стиле. Затем добавьте div в tr

Ответ 8

.outer-container {           позиция: относительная;           слева: 50%;           плыть налево;           ясно: оба;           margin: 10px 0;           text-align: left;       }

.inner-container {           фон: красный;           позиция: относительная;           слева: -50%;           text-align: left;       }

Ответ 9

Центрирование элемента по горизонтали может немного странно, так как функциональность не очень интуитивная. Действительно, вам нужно играть в игры с text-align:center; и margin:auto,, и вам нужно будет знать, когда использовать.

Например, если я хочу сосредоточить содержимое элемента (raw-text), включая кнопки и входы, я могу использовать text-align:center.

.text-center {
  text-align:center;
}
<div class="text-center" style="border:1px dashed blue;padding:6px;" >
  My contents are centered! That includes my <input placeholder="inputs" /> and my <button>buttons.</button>
</div>