Есть ли способ центрировать элементы HTML вертикально или горизонтально внутри основных родителей?
<center></center>
тег
<center>
тег был объявлен устаревшим около 12 лет назад.
Есть ли способ центрировать элементы HTML вертикально или горизонтально внутри основных родителей?
<center></center>
тег
<center>
тег был объявлен устаревшим около 12 лет назад.
Ответы:
Обновление : хотя этот ответ, вероятно, был верным еще в начале 2013 года, его больше не следует использовать. Правильное решение использует смещения .
Что касается предложения других пользователей, существуют также классы начальной загрузки, такие как:
class="text-center"
class="pagination-centered"
благодаря @Henning и @trejder
class="text-center"
.pagination-centered
как альтернатива.
text-center
для макета очень плохая практика. Правильный способ выравнивания столбцов в Bootstrap - использование col-XX-offset-Y
классов. getbootstrap.com/css/#grid-offsetting . Этот ответ, скорее всего, был правильным в 2013 году, но больше не должен использоваться сегодня.
Из документации по Bootstrap :
Установите элемент в
display: block
центр и с помощьюmargin
. Доступный как mixin и класс.
<div class="center-block">...</div>
Для будущих посетителей этот вопрос:
Если вы пытаетесь центрировать изображение в элементе div, но изображение не будет центрироваться, это может описать вашу проблему:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
img-responsive
Класс добавляет display:block
команду в тег изображения, который останавливается text-align:center
( text-center
класс) от работы.
РЕШЕНИЕ:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
Добавление center-block
класса переопределяет display:block
инструкцию, вставленную с использованием img-responsive
класса.
Без img-responsive
класса изображение было бы в центре, просто добавив text-center
класс
Кроме того, вы должны знать основы flexbox и как его использовать, поскольку Bootstrap4 теперь использует его изначально .
Вот отличное, быстро развивающееся видеоурок от Брэда Шиффа
Вот отличная шпаргалка
Обновлено 2018
В Bootstrap 4 , то центрирующие методы изменились ..
Горизонтальный центр в BS4
text-center
все еще используется для display:inline
элементовmx-auto
заменяет center-block
центр display:flex
детейoffset-*
или mx-auto
может использоваться для центрирования столбцов сеткиmx-auto
(авто х-оси поля) будет центрировать display:block
или display:flex
элементы, имеющие определенную ширину , ( %
, vw
, px
и т.д ..). Flexbox по умолчанию используется в столбцах сетки, поэтому существуют также различные методы центрирования flexbox.
Demo Bootstrap 4 Горизонтальное центрирование
Для вертикального центрирования в BS4 см. Https://stackoverflow.com/a/41464397/171456
Вы можете напрямую написать в свой файл CSS, как это:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
я использую это
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
для горизонтального центрирования вы можете получить что-то вроде этого:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />
. Окружение img
с родителем div
и дача .text-center
или .pagination-centered
класс для родителя работает как очарование.
Мне нравится это решение из аналогичного вопроса. https://stackoverflow.com/a/25036303/2364401 Используйте text-center
класс начальной загрузки для фактических данных <td>
таблицы и <th>
элементов заголовка таблицы . Так
<td class="text-center">Cell data</td>
и
<th class="text-center">Header cell data</th>
С bootstrap 4 вы можете использовать flex
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
источник: bootstrap 4.1
загрузчик 4 + Flex решить эту проблему
ты можешь использовать
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
он должен центрироваться по центру по горизонтали и вертикали
Я обнаружил в Bootstrap 4, вы можете сделать это:
горизонтальный центр действительно text-center
класс
центральная вертикаль, однако, используя классы начальной загрузки добавляет оба, mb-auto mt-auto
так что margin-top и margin bottom устанавливаются на auto.
для bootstrap4 вертикальный центр из нескольких предметов
d-flex для правил flex
flex-column для вертикального направления на предметах
justify-content-center для центрирования
style = 'height: 300px;' должен иметь для заданных точек, где центр будет рассчитываться или использовать класс H-100
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>