Дополнительно
Центрирование колонки с помощью Twitter Bootstrap 3
Как отцентрировать div размером в одну колонку внутри контейнера (12 колонок) в Twitter Bootstrap 3?
.centered {
background-color: red;
}
<body class="container">
<div class="col-lg-1 col-offset-6 centered">
<img data-src="holder.js/100x100" alt="" />
</div>
</body>
Я хочу, чтобы div
с классом .centered
был отцентрирован внутри контейнера. Я могу использовать строку, если есть несколько div
, но сейчас я просто хочу, чтобы div
размером с одну колонку центрировался внутри контейнера (12 колонок).
Я также не уверен, что приведенный выше подход достаточно хорош, поскольку намерение не состоит в том, чтобы смещать div
наполовину. Мне не нужно свободное пространство за пределами div
, а содержимое div
уменьшается пропорционально. Я хочу, чтобы пустое пространство вне div было равномерно распределено (уменьшалось до тех пор, пока ширина контейнера не будет равна одной колонке).
1107
20
Существует два подхода к центрированию колонки
<div>
в Bootstrap 3:Подход 1 (смещение):.
Первый подход использует собственные классы смещения Bootstrap, поэтому он не требует изменений в разметке и дополнительного CSS. Ключевым моментом является смещение, равное половине оставшегося размера строки. Так, например, столбец размером 2 будет отцентрирован путем добавления смещения 5, то есть
(12-2)/2
.В разметке это будет выглядеть следующим образом:
У этого метода есть очевидный недостаток. Он работает только для четных размеров колонок, поэтому поддерживаются только
.col-X-2
,.col-X-4
,col-X-6
,col-X-8
иcol-X-10
.Подход 2 (старый
margin:auto
).Вы можете центрировать столбцы любого размера, используя проверенную технику
margin: 0 auto;
. Вам просто нужно позаботиться о плавающих элементах, которые добавляет система сетки Bootstrap. Я рекомендую определить пользовательский CSS-класс, как показано ниже:Теперь вы можете добавить его в колонку любого размера при любом размере экрана, и он будет легко работать с отзывчивым макетом Bootstrap':
Примечание: При использовании обеих техник вы можете пропустить элемент
.row
и расположить колонку по центру внутри.container
, но вы заметите минимальную разницу в фактическом размере колонки из-за прокладок в классе контейнера.Обновление:
Начиная с версии 3.0.1 Bootstrap имеет встроенный класс
center-block
, который используетmargin: 0 auto
, но не имеетfloat:none
, вы можете добавить его в свой CSS, чтобы заставить его работать с системой сетки.Предпочтительным методом центрирования колонок является использование "смещения" (т.е.
col-md-offset-3
)примеры центрирования в Bootstrap 3.x
Для центрирования элементов существует
center-block
вспомогательный класс.Вы также можете использовать
text-center
для центрирования текста (и инлайн-элементов).Демонстрация: http://bootply.com/91632
EDIT - Как упоминалось в комментариях,
center-block
работает на содержимом колонки и элементахdisplay:block
, но не работает на самой колонке (div'ыcol-*
), потому что Bootstrap используетfloat
.Обновление 2018 г.
Теперь, с Bootstrap 4, методы центрирования изменились...
text-center
по-прежнему используется для элементовdisplay:inline
.mx-auto
заменяетcenter-block
для центрированияdisplay:block
элементовoffset-*
илиmx-auto
могут быть использованы для центрирования колонок сеткиmx-auto
(auto x-axisis margins) центрируетdisplay:block
илиdisplay:flex
элементы, имеющие определенную ширину, (%
,vw
,px
и т.д.). Flexbox используется по умолчанию для колонок сетки, поэтому существуют также различные методы центрирования flexbox.Demo Bootstrap 4 Horizontal Centering
Для вертикального центрирования в BS4 смотрите https://stackoverflow.com/a/41464397/171456
Теперь Bootstrap 3.1.1 работает с
.center-block
, а этот вспомогательный класс работает с системой колонок.Bootstrap 3 Helper Class Center.
Пожалуйста, проверьте [это jsfiddle DEMO][2]:
Центрирование столбцов строк с помощью вспомогательного класса
col-center-block
.Просто добавьте следующие строки в ваш пользовательский CSS-файл. Редактирование начальной загрузки CSS файлов напрямую не рекомендуется и отменяет вашу способность использовать КДС.
Почему?
Начальной загрузки CSS (версии 3.7 и ниже) используется маржа: 0 авто;, но он получает переопределить с помощью свойства float размер контейнера.
ПС:
После добавления этого класса, Дон'т забывайте ставить классы правильном порядке.
Bootstrap 3 теперь имеет встроенный класс для этого
.center-block
.Если вы все еще используете 2.X, то просто добавьте это в свой CSS.
Мой подход к столбцам центра-использовать дисплей: инлайн-блок` для столбцов и текст-выровняйте: центр для контейнера родителя.
Вы просто должны добавить класс CSS 'по центру' в
строку
.В HTML:
В CSS:
JSFiddle: http://jsfiddle.net/steyffi/ug4fzcjd/
Загрузки версия 3 имеет .текст-центр класса.
Просто добавить этот класс:
Это будет просто загрузить этот стиль:
Пример:
С Bootstrap В4, это может быть достигнуто только путем добавления
.оправдать-контент-центра
.строки`<див>
https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content
Это работает. Возможно, это хакерский способ, но он работает хорошо. Это было проверено на отзывчивость (Y).
Вы можете использовать
текст-центр
в строке и может убедиться, что внутренний ДИВС есть дисплей:инлайн-блок(не
плавать`).Как:
И CSS:
Скрипка: http://jsfiddle.net/DTcHh/3177/
Просто установите один столбец, который отображает содержимое коль-хз-12 (с мобильного-первая ;-) и настроить контейнер только для контроля того, как широкий вы хотите, чтобы ваш ориентированного контента, так:
в
в
в
Или:
в
На демо, посмотрим http://codepen.io/Kebten/pen/gpRNMe :-)
Другой подход взаимозачета должен иметь две пустые строки, например:
Это, наверное, не лучший ответ, но есть еще одно креативное решение для этого. Как отметил koala_dev столбце взаимозачет работает только для Даже размеров столбцов. Однако, по вложенности строк вы можете достичь центрирования, а также неровные колонны.
Придерживаться первоначального вопроса, где вы хотите центре колонны 1 в сетке 12.
Например:
См. [эта скрипка][1], Обратите внимание, что вы должны увеличить размер окна вывода для увидеть результат, в противном случае столбцы будут перенесены.
В центре седловины - мы должны использовать ниже код. седла являются элементами поплавок кроме маржа авто. Мы также будем плавать никто,
В центре над коль-ЛГ-1 С класс центрированных, мы будем писать:
Для центрирования содержимого в div, текст-выровняйте использовать
центр
,Если вы хотите, чтобы центр его только на рабочем столе и большом экране, а не на смартфоне или планшете, то используйте следующий запрос СМИ.
И чтобы центрировать див только на мобильной версии, используйте ниже код.
Это не мой код, но он работает отлично (проверено на Bootstrap 3) и я Дон'т придется возиться с кол-зачет.
Демо:
в
в
Мы можем добиться этого с помощью механизма сервировки стола:
Механизм:
Образец демо здесь
С Bootstrap 4 Вы можете просто попробовать оправдать-содержание-МД-центр как отмечается, здесь
Как koala_dev использовал в своем подходе 1, я бы предпочел метод смещения вместо центра-блока или поля, который имеет ограниченное использование, но как он сказал:
Это может быть решена, используя следующий подход для нечетных столбцов.
Можно использовать очень гибко адаптируемых блоков решение вашей загрузке.
может ваша колонка центр.
Проверить шлейф.