Как горизонтально центрировать <div>? - PullRequest
3967 голосов
/ 22 сентября 2008

Как я могу горизонтально центрировать <div> внутри другого <div> с помощью CSS?

<div id="outer">  
  <div id="inner">Foo foo</div>
</div>

Ответы [ 98 ]

1 голос
/ 01 сентября 2015

Попробуйте это:

#outer{
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

#outer > #inner{
    display: inline-block;
    font-size: 19px;
    margin: 20px;
    max-width: 320px;
    min-height: 20px;
    min-width: 30px;
    padding: 14px;
    vertical-align: middle;
}
1 голос
/ 12 февраля 2016

Лучший способ - использовать отображение ячейки таблицы (внутреннее), которое идет точно после div с таблицей отображения (внешним) и установить вертикальное выравнивание для внутреннего div (с отображением ячейки таблицы) и каждого тега, который вы используете в Внутренний div находится в центре div или страницы.

Примечание: вы должны установить указанную высоту на внешнюю

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

#outer{
  display: table;
  height: 100vh;
  width: 100%;
}


#inner{
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
<div id="outer">
    <div id="inner">
      <h1>
          set content center
      </h1>
      <div>
        hi this is the best way to align your items center
      </div>
    </div>
</div>
1 голос
/ 13 августа 2014

Попробуйте это:

<div id="a">
    <div id="b"></div>
</div>

CSS:

#a{
   border: 1px solid red;
   height: 120px;
   width: 400px
}

#b{
   border: 1px solid blue;
   height: 90px;
   width: 300px;
   position: relative;
   margin-left: auto;
   margin-right: auto;
}
1 голос
/ 30 июля 2016

Добавить text-align:center; к родительскому div

#outer {
    text-align: center;
}

https://jsfiddle.net/7qwxx9rs/

или

#outer > div {
    margin: auto;
    width: 100px;
}

https://jsfiddle.net/f8su1fLz/

1 голос
/ 30 декабря 2018

Я нашел похожее с margin-left, но может быть и left.

#inner{
    width: 100%;
    max-width: 65px; /*to adapt to screen width. Can be whatever you want*/
    left: 65px; /*this has to be approximately the same as the max-width*/
}
1 голос
/ 14 ноября 2018
div{
   width:100px;
   height:100px;
   margin:0 auto;
  }

для обычной вещи, если вы используете div static way

если вы хотите, чтобы div был в центре, когда div является абсолютным по отношению к его родителю, вот пример:

.parentdiv{
   position:relative;
   height:500px;
}

.child_div{
   position:absolute;
   height:200px;
   width:500px;
   left:0;
   right:0;
   margin:0 auto;
}
1 голос
/ 25 ноября 2018

это сработало для меня:

   #inner {
    position: absolute;
    margin: 0 auto;
    left: 0;
    width: 7%;
    right: 0;
}

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

1 голос
/ 14 августа 2018

#outer {
  width: 160px;
  padding: 5px;
  border-style: solid;
  border-width: thin;
  display: block;
}

#inner {
  margin: auto;
  background-color: lightblue;
  border-style: solid;
  border-width: thin;
  width: 80px;
  padding: 10px;
  text-align: center;
}
<div id="outer">
  <div id="inner">Foo foo</div>
</div>
0 голосов
/ 29 мая 2019
#inner {
  width: 50%;
  margin: 0 auto;
}
0 голосов
/ 23 мая 2019

для горизонтального центра DIV

#outer{
 width:100%;
 text-align:center;
}
#inner{
 display:inline-block;
}
<div id="outer">
  <div id="inner">Foo foo</div>
</div>
...