Як центрувати div за допомогою Bootstrap2?


84

http://twitter.github.com/bootstrap/scaffolding.html

Я пробував, як і всі комбінації:

<div class="row">
  <div class="span7 offset5"> box </div>
</div>

або

<div class="container">
  <div class="row">
    <div class="span7 offset5"> box </div>
  </div>  
</div>

змінені номери діапазону та зміщення ...

Але я не можу отримати просту коробку, ідеально відцентровану на сторінці :(

Я просто хочу коробку шириною в 6 колон у центрі ...


редагувати:

зробив це з

<div class="container">
  <div class="row" id="login-container">
    <div class="span8 offset2">
       box
    </div>
  </div>
</div>

Але коробка занадто широка, чи можу я це зробити за допомогою span7?

span7 offset2дає додаткове заповнення ліворуч span7 offset3додаткове заповнення праворуч ...


Ви хочете відцентрувати поле горизонтально на сторінці? Оскільки containerклас це вже робить, думав, що ви, можливо, хочете відцентрувати менший квадрат. Або ви хочете відцентрувати поле як горизонтально, так і вертикально на сторінці?
Андрес Іліч

14
ящик, що ти кажеш? . . . .тут у світі розробників ми називаємо це div
pythonian29033

Яку версію Bootstrap ви використовували? це повинно бути відображено в назві, оскільки люди, які шукають це, опиняться тут і побачать застарілий код.
JGallardo

Відповіді:


46

крім того , скорочується саме розподіл до потрібного розміру, за рахунок зменшення розміру діапазону , як так ... class="span6 offset3", class="span4 offset4"і т.д ... як - то просто , як style="text-align: center"на DIV може мати ефект , який ви шукаєте

ви не можете використовувати span7 з будь-яким встановленим зміщенням і отримати інтервал по центру на сторінці (оскільки загальний проміжок = 12)


12
Розгляньте відповідь Зухайба Алі. text-align: center не працює для центрування елементів у <div>. Клас offset * не є справді центрируючими компонентами. Це просто створення ілюзії центрування. Ви можете перевірити це, змінивши розмір вікна та переконавшись, що компоненти не залишаються відцентрованими. Коли ви застосовуєте метод Зухайба Алі, компоненти залишаються в центрі.
BigSauce

Замість того, щоб додавати вбудований стиль (style = "text-align: center"), додайте клас "center-block" і отримайте вміст у центрі у своєму центрованому div.
Шон Тейлор,

col-md-4 або col-lg-4 дорівнює полю: 0 авто; ?
jruzafa

165

Прольоти Bootstrap плавають вліво. Все, що потрібно для того, щоб їх відцентрувати, це перевизначити цю поведінку. Я роблю це, додаючи це до моєї таблиці стилів:

.center {
     float: none;
     margin-left: auto;
     margin-right: auto;
}

Якщо ви визначили цей клас, просто додайте його до інтервалу, і все готово.

<div class="span7 center"> box </div>

Зверніть увагу, що цей власний центр-клас повинен бути визначений після css bootstrap. Ви можете використовувати, !importantале це не рекомендується.


5
ТАК! Дякую, Зухайб! Працював ідеально. Цю відповідь слід проголосувати як правильну відповідь на це питання.
BigSauce

@ZuhaibAli Додавання float: none;вирішить мою проблему.
SIFE

1
Я використовую Rails, тому я просто хочу зазначити, що в application.css, додати *= require bootstrap.min до *= require_self та*= require_tree

2
Це не спрацювало для мене, але додавання, display: tableздавалося, це виправило
Пітер Берг,

1
Чудова відповідь! Працюючи з цим відтепер.
serv-bot 22

34

Bootstrap3 має .center-blockклас, яким ви можете користуватися. Це визначається як

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

Документація тут .


20

Якщо ви хочете перейти до повного завантаження (а не автоматично вліво / вправо), вам потрібен шаблон, який вміщуватиметься до 12 стовпців, наприклад 2 пробіли, 8 вмісту, 2 пробіли. Ось що буде робити ця установка. Він охоплює лише варіанти -md- , я, як правило, прив'язую його до повного розміру для невеликих, додаючи col-xs-12

<div class="container">
  <div class="col-md-8 col-md-offset-2">
     box
  </div>
</div>

це дійсний спосіб центрування divs у boostrap?
Gavindra Kalikapersaud

1
Зміст div не центрується, але сам div є.
Крейг

8

Здається, ви просто хотіли вирівняти по центру один контейнер. Можливо, фреймворк bootstrap надто ускладнює цей приклад, ви могли б просто мати автономний div зі своїм власним стилем, приблизно так:

<div class="login-container">
  <!-- Your Login Form -->
</div>

і стиль:

.login-container {
  margin: 0 auto;
  width: 400px; /* Whatever exact width you are looking for (not bound by preset bootstrap widths) */
}

Це має добре працювати, якщо ви вкладені десь у .containerdiv div bootstrap .


3

додати вміст центру до класу

/** Center the contents of the element **/
.centercontents {
    text-align: center !important;
}

0

Код роботи @ZuhaibAli для мене працює, але я трохи її змінив:

Я створив новий клас у css

.center {
     float: none;
     margin-left: auto;
     margin-right: auto;
}

тоді div стає

<div class="center col-md-6"></div>

Я додав col-md-6 для ширини самого div, що в цій ситуації означало, що div є вдвічі меншим, в bootstrap є 1-12 col md.



0

оберніть div у батьківському div з класом, rowа потім додайте стиль margin:0 auto;до div

<div class="row">
  <div style="margin: 0 auto;">center</div>
</div>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.