Як вирівняти мертвий центр зображення із завантажувальним рядком


207

Я використовую рамку завантажувального пристрою і намагаюся отримати зображення, зосереджене горизонтально, без успіху.

Я спробував різні методи, такі як розбиття системи 12 сітки на 3 рівні блоки, наприклад

<div class="container">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

Який найпростіший спосіб отримати зображення в центрі відносно сторінки?


І btw. ви можете ознайомитись з розділом "Зміна стовпців". twitter.github.com/bootstrap/scaffolding.html#gridSystem
mind85

Хтось позначив це не як відповідь, і я згоден. Будь ласка, додайте це як коментар, і ваша відповідь буде видалена незабаром.
tckmn

1
Якщо у вас є тег img-responsiveкласу img, зображення може не по центру. Дивіться цю відповідь ТА для пояснення того, чому використанняcenter-blockкласуbootstrapвирішить цю проблему способом завантаження.
ксифіф

Якщо ви використовуєте завантажувальний інструмент, ви можете це зробити: stackoverflow.com/a/59469712/4654957
Дієго

Відповіді:


271

Twitter Bootstrap v3.0.3 має клас: центр-блок

Центральні блоки вмісту

Встановіть для відображення елемент: блок та центр через поле. Доступний у вигляді міксину та класу.

Просто потрібно додати клас .center-blockу imgтег, виглядає приблизно так

<div class="container">
  <div class="row">
    <div class="span4"></div>
    <div class="span4"><img class="center-block" src="logo.png" /></div>
    <div class="span4"></div>
  </div>
</div>

У Bootstrap вже є стиль css call .center-block

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

Ви можете побачити зразок звідси


1
закриваючий </div>тег на containerдіві виглядає відсутнім. це не працює для мене на v3.3.7
tarabyte

141

Правильний спосіб зробити це

<div class="row text-center">
  <img ...>
</div>

25
це не спрацювало для мене при використанні цього - startbootstrap.com/round-about .. але додавання класу center-blockдо <img>елементів, що працювали ..
Sumeet Pareek

3
Текстовий центр не працюватиме на зображеннях із класом, що реагує на img, але коментар вище (про центр-блок) вирішує цю проблему
trojan

Спостереження: у Bootstrap v3.1.0 можна центрувати img-respocable в стовпчику, додаючи text-center до стовпця. Така поведінка порушена в v3.3.4. Дуже дратує. Css смокче.
f470071

замість цього слід використовувати центральний блок, як сказано в документах: getbootstrap.com/css/#images-responsive
Начо

95

Оновлення 2018 року

Чи не center-blockклас більше не існує в Bootstrap 4 . Для центрування зображення в Bootstrap 4 використовуйте mx-auto d-block...

<img src="..." class="mx-auto d-block"/>

6
Просто додати невелике пояснення до 'Оновлення 2018': mx-auto встановлює лівий і правий поля для автоматичного; Дисплей наборів d-block: блок
Майкл Моріарті

85

Додайте "центр-блок" до зображення як клас - додаткові css не потрібні

<img src="images/default.jpg" class="center-block img-responsive"/>

8
Не впевнений, чому -1 - ЦЕ НАЙКРАЩА НАЙКРАЩА ВІДПОВІДЬ! Він використовує вбудований клас в Bootstrap.
користувач2562923

4
У завантажувальній mx-autocenter-block
службі

52

У завантажувальному закладі Twitter є клас, який займає: .pagination-центр

Мені працювало:

<div class="row-fluid">
   <div class="span12 pagination-centered"><img src="header.png" alt="header" /></div>
</div>

Css для класу:

.pagination-centered {
  text-align: center;
}

18
А може, .text-centerклас?
trejder

36

Ви можете використовувати наступне. Він підтримує Bootstrap 3.x вище.

<img src="..." alt="..." class="img-responsive center-block" />

Дякую за це Просто те, що мені було потрібно сьогодні.
Райан Вілсон

28

Якщо припустити, що поряд із зображенням немає нічого іншого, найкращим способом є використання text-align: centerу imgбатьківській програмі:

.row .span4 {
    text-align: center;
}

Редагувати

Як було сказано в інших відповідях, ви можете додати початковий .text-centerелемент CSS-класу для завантаження. Це робить те саме, що доступно і в v2.3.3, і v3


Ідеально - це робить роботу. Але скажіть, що у мене є елемент <ul> під зображенням ... Це не вирівнює центр, як очікувалося, чи можна щось додати? Спасибі
Фіксер

1
З .row в одному з основних класів у завантажувальній мережі Twitter. Я б рекомендував визначити новий клас, наприклад, на цій сторінці twitter.github.com/bootstrap/index.html із заголовком класу.
baptme

1
@Fixer <ul>Слід все-таки вирівняти центр: jsfiddle.net/N74N7/1 Повинен бути інший CSS-код, який впливає на нього
My Head Hurts

витратили більше 2 або 3 годин, і тільки ця лінія ... дякую!
аламін

18

Працює для мене. спробуйте використовуватиcenter-block

<div class="container row text-center">
    <div class="row">
      <div class="span4"></div>
      <div class="span4"><img class="center-block" src="logo.png" /></div>
      <div class="span4"></div>
    </div>
</div>

6

Мені потрібно те саме, і тут я знайшов рішення:

https://stackoverflow.com/a/15084576/1140407

<div class="container">
  <div class="row">
    <div class="span9 centred">
      This div will be centred.
    </div>
  </div>
</div>

і до CSS:

[class*="span"].centred {
  margin-left: auto;
  margin-right: auto;
  float: none;
}

Я думаю, що людям із завантаження потрібно додавати його до свого css
Мухаммед Ахсан

Привіт, і дякую! Зараз я використовую Bootstrap v3. Я додав це до свого контейнера IMG div, тому мені довелося вказати точну ширину (принаймні) для свого div, щоб зробити так, щоб справи працювали. Якщо у вас немає контейнера або різного розміру зображення, додайте цей клас до свого зображення.
Інан


1

Здається, ми могли б використовувати нову функцію HTML5, якщо версія браузера не є проблемою:

у файлах HTML:

<div class="centerBloc">
  I will be in the center
</div>

І у файлі CSS ми пишемо:

body .centerBloc {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

І тому div може бути ідеально центром у браузері.


3
Клас вашого діва називається .centerBloc, а ваш файл css показує body.loadingDiv ...
Мартін

Виправлено @Martin
dtechplus

0

Ви повинні використовувати

<div class="row fluid-img">
  <img class="col-lg-12 col-xs-12" src="src.png">
</div>

.fluid-img {
    margin: 60px auto;
}

@media( min-width: 768px ){
        .fluid-img {
            max-width: 768px;
        }
}
@media screen and (min-width: 768px) {
        .fluid-img {
            padding-left: 0;
            padding-right: 0;
        }
}

0

Я використовую justify-content-centerклас для рядка в контейнері. Добре працює з Bootstrap 4.

<div class="container-fluid">
  <div class="row justify-content-center">
   <img src="logo.png" />
  </div>
</div>


-3

Ви можете змінити CSS попереднього рішення, як показано нижче:

.container, .row { text-align: center; }

Це також повинно зосереджувати всі елементи в батьківській div.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.