Как центрировать элемент 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
s, но сейчас я просто хочу, div
чтобы размер одного столбца был в центре контейнера (12 столбцов).
Я также не уверен, что вышеупомянутый подход достаточно хорош, поскольку намерение не состоит в том, чтобы компенсировать div
вдвое. Мне не нужны свободные пространства снаружи div
и div
пропорционально содержимому усадки. Я хочу, чтобы пустое пространство за пределами div было равномерно распределено (уменьшилось до ширины контейнера, равной одному столбцу).
.clearfix
не будет работать в этом случае, потому что он не удаляет свойство float для элементов (которое необходимоmargin: 0 auto
float:none;
Предпочтительный способ центрирования колонны состоит в использовании «смещения» (то есть:
col-md-offset-3
)Bootstrap 3.x примеры центрирования
Для центрирующих элементов существует
center-block
вспомогательный класс .Вы также можете использовать
text-center
для центрирования текста (и встроенных элементов).Демо : http://bootply.com/91632
РЕДАКТИРОВАТЬ - Как уже упоминалось в комментариях,
center-block
работает с содержимым иdisplay:block
элементамистолбца, но не будет работать с самим столбцом (col-*
divs), потому что Bootstrap используетfloat
.Обновление 2018
Теперь с Bootstrap 4 , то центрирующие методы изменились ..
text-center
все еще используется дляdisplay:inline
элементовmx-auto
заменяетcenter-block
центральныеdisplay:block
элементыoffset-*
илиmx-auto
может использоваться для центрирования столбцов сеткиmx-auto
(авто х-оси поля) будет центрироватьdisplay:block
илиdisplay:flex
элементы, имеющие определенную ширину , (%
,vw
,px
и т.д ..). Flexbox используется по умолчанию в столбцах сетки, поэтому существуют также различные методы центрирования flexbox.Demo Bootstrap 4 Горизонтальное центрирование
Для вертикального центрирования в BS4 см. Https://stackoverflow.com/a/41464397/171456
источник
text-center
подробностей, которые ни один из других ответов не дал. Этот получает мой голос.float:none;
Теперь Bootstrap 3.1.1 работает с
.center-block
этим вспомогательным классом и работает с системой столбцов.Bootstrap 3 Helper Class Center .
Пожалуйста, проверьте это JSFIDDLE ДЕМО :
Центр строки столбца, используя
col-center-block
вспомогательный класс.источник
float:none
, убедившись, что к центру блока divstyle="width : ?px"
применен стиль. Например ширина изображения. Работает с 3.2.2Просто добавьте следующее в ваш пользовательский файл CSS. Редактирование файлов CSS Bootstrap напрямую не рекомендуется и лишает вас возможности использовать CDN .
Почему?
Bootstrap CSS (версия 3.7 и ниже) использует margin: 0 auto; , но он переопределяется свойством float контейнера размера.
PS :
После добавления этого класса не забудьте установить классы в правильном порядке.
источник
3.3.7
и это единственный метод, который работает на меня!!important
это необходимоBootstrap 3 теперь имеет встроенный класс для этого
.center-block
Если вы все еще используете 2.X, просто добавьте это в свой CSS.
источник
float:none;
Мой подход к центру столбцов заключается в использовании
display: inline-block
столбцов иtext-align: center
родительского контейнера.Вам просто нужно добавить класс CSS «по центру» в
row
.HTML:
CSS:
JSFiddle: http://jsfiddle.net/steyffi/ug4fzcjd/
источник
Bootstrap версии 3 имеет класс .text-center.
Просто добавьте этот класс:
Это просто загрузит этот стиль:
Пример:
источник
С помощью Bootstrap v4 это можно сделать, просто добавив
.justify-content-center
к.row
<div>
https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content
источник
Это работает. Хакерский путь, вероятно, но он работает хорошо. Это было проверено на отзывчивость (Y).
источник
img
Может быть установлен в виде блока..centered img { display: inline; }
к вашему ответу, и тогда он был бы достоин голосования.источник
Чтобы отцентрировать столбец, нам нужно использовать приведенный ниже код. cols являются плавающими элементами, кроме margin auto. Мы также установим это, чтобы не плавать,
Для центрирования вышеупомянутого col-lg-1 с классом центрирования мы напишем:
Чтобы центрировать содержимое внутри div, используйте
text-align:center
,Если вы хотите центрировать его только на рабочем столе и большом экране, а не на мобильном телефоне, используйте следующий медиазапрос.
И чтобы центрировать div только на мобильной версии, используйте приведенный ниже код.
источник
Просто установите один столбец, который отображает содержимое, на col-xs-12 (mobile-first ;-) и настройте контейнер только для контроля того, насколько широким должен быть ваш центрированный контент, поэтому:
Для демонстрации см. Http://codepen.io/Kebten/pen/gpRNMe :-)
источник
Другой подход к смещению состоит в том, чтобы иметь две пустые строки, например:
источник
Вы можете использовать
text-center
для строки и убедиться, что внутренние div имеютdisplay:inline-block
(с notfloat
).В виде:
И CSS:
Скрипка: http://jsfiddle.net/DTcHh/3177/
источник
С bootstrap 4 вы можете просто попробовать,
justify-content-md-center
как указано здесьисточник
Возможно, это не лучший ответ, но есть еще одно креативное решение. Как указывает koala_dev, смещение столбца работает только для четных размеров столбцов. Однако, вложив строки, вы также можете центрировать неровные столбцы.
Чтобы придерживаться исходного вопроса, где вы хотите центрировать столбец 1 внутри сетки 12.
Например:
Смотрите эту скрипку , обратите внимание, что вам нужно увеличить размер окна вывода, чтобы увидеть результат, иначе столбцы будут перенесены.
источник
Это не мой код, но он отлично работает (проверено на Bootstrap 3), и мне не нужно возиться с col-offset.
Демо-версия:
источник
Мы можем достичь этого, используя механизм разметки таблицы:
Механизм:
Пример демонстрации здесь
источник
Добавьте следующий фрагмент внутри вашего .row или .col. Это для Bootstrap 4 *.
источник
Как использовал koala_dev в своем подходе 1, я бы предпочел метод смещения вместо центрального блока или полей, который имеет ограниченное использование, но, как он упомянул:
Это можно решить, используя следующий подход для нечетных столбцов.
источник
Вы можете использовать очень гибкое решение flexbox для вашей Bootstrap.
может центрировать вашу колонку.
Проверьте flex .
источник
Поскольку у меня никогда не было необходимости центрировать только один
.col-
внутри a.row
, я установил следующий класс для переноса.row
моих целевых столбцов.пример
источник
Для тех, кто хочет центрировать элементы столбца на экране, когда у вас нет точного числа, чтобы заполнить вашу сетку, я написал небольшой кусочек JavaScript для возврата имен классов:
Если у вас есть 5 элементов, и вы хотите иметь 3 на строку на
md
экране, вы делаете это:Имейте в виду, что второй аргумент должен делиться на 12.
источник
Чтобы отцентрировать несколько столбцов в строке Bootstrap, а число
css
столбцов нечетное, просто добавьте этот класс ко всем столбцам в этой строке:Так что в вашем HTML у вас есть что-то вроде:
источник
Попробуй это
Вы можете использовать другие,
col
как, напримерcol-md-2
, и т. Д.источник
Я предлагаю просто использовать класс
text-center
:источник
Попробуйте этот код.
Здесь я использовал col-lg-1, и смещение должно быть 10 для правильного центрирования div на больших устройствах. Если вам нужно сосредоточиться на средних и больших устройствах, просто измените lg на md и так далее.
источник
Решение Bootstrap 4 :
источник
Если вы поместите это в свой ряд, все столбцы внутри будут центрированы:
источник
Чтобы быть более точным, система сетки Bootstrap содержит 12 столбцов, а для центрирования любого контента, скажем, например, контент занимает один столбец. Нужно будет занять два столбца сетки Bootstrap и разместить содержимое на половине двух занятых столбцов.
'col-xs-offset-5' указывает системе координат, где начинать размещать контент.
'col-xs-2' сообщает системе координат, сколько оставшихся столбцов должно занимать содержимое.
'centtered' будет определенным классом, который будет центрировать контент.
Вот как выглядит этот пример в сеточной системе Bootstrap.
Колонки:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
....... смещение ........ данные. .......не используется........
источник