На чуйній сторінці, що реагує на завантаження, як зробити центр діва


132

розташуйте діва в центрі чуйної сторінки

Мені потрібно створити чуйну сторінку за допомогою завантажувальної програми, розташувавши div у центрі сторінки, як, наприклад, у наведеному нижче макеті.



Мені потрібно сфокусувати діл з текстом (чуйний дизайн за допомогою завантажувального пристрою), який повинен бути присутнім в іншому повнорозмірному центрі col-lg-12, орієнтованому як на layout.it, було б корисно, якщо я можу отримати зразок коду у скрипці
Рама Прия

Відповіді:


173

ОНОВЛЕННЯ для завантаження 4

Простіше вертикальне відчуження сітки з флекс-коробкою

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css');
html,
body {
  height: 100%
}
<div class="h-100 row align-items-center">
  <div class="col" style="background:red">
    TEXT
  </div>
</div>

Рішення для Bootstrap 3

@import url('http://getbootstrap.com/dist/css/bootstrap.css');
 html, body, .container-table {
    height: 100%;
}
.container-table {
    display: table;
}
.vertical-center-row {
    display: table-cell;
    vertical-align: middle;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.0/bootstrap.min.js"></script>

<div class="container container-table">
    <div class="row vertical-center-row">
        <div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
    </div>
</div>

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


41
Може class="col-xs-4 col-xs-offset-4"бути, вистачить.
L105

Мені потрібно розташувати вертикальний центр div col-lg-12 у всіх розмірах екрана
Рама Прия

1
Я знайшов рішення для вас, щоб перевірити цю загадку jsfiddle.net/Palapas/52VtD/687 контейнер повинен мати висоту 100%, інакше вам потрібно використовувати абсолютне положення
ppollono

45

CSS:

html,
body {
    height: 100%;
}

.container {
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

HTML:

<div class="container">
  <div>
    example
  </div>
</div>

Приклад скрипки


1
це рішення не працює, коли я відкриваю свій сайт у мобільному телефоні.
codeinprogress

2
Привіт, який браузер ви використовували? Ви завантажували таблиці стилів і javascript у Bootstrap? Він працює у Firefox та Chrome. Тестується на всіх розмірах екрана.
vocasle

Я перевірив це, змінивши розмір свого веб-переглядача, а також за допомогою чуйної перевірки веб-сайтів. Працює для мене.
Rocky Kev

1
це виправлення порушує стилі завантаження за замовчуванням
ppollono

21

У завантажувальному 4

щоб орієнтувати дітей горизонтально , використовуйте класу bootstrap-4

justify-content-center

щоб орієнтувати дітей вертикально , використовуйте класу bootstrap-4

 align-items-center

але пам’ятайте, не забувайте використовувати клас d-flex з цими, це клас корисних програм bootstrap-4

<div class="d-flex justify-content-center align-items-center" style="height:100px;">
    <div class="bg-primary">MIDDLE</div>    
</div>

Примітка: обов'язково додайте утиліти bootstrap-4, якщо цей код не працює


11

Оновлення для Bootstrap 4

Тепер, коли Bootstrap 4 є флексокс, вертикальне вирівнювання простіше. Враховуючи повний зріст флексбоку, просто нам my-autoдля рівного верхнього та нижнього поля ...

<div class="container h-100 d-flex justify-content-center">
    <div class="jumbotron my-auto">
      <h1 class="display-3">Hello, world!</h1>
    </div>
</div>

http://codeply.com/go/ayraB3tjSd/bootstrap-4-vertical-center


Вертикальний центр у Bootstrap 4


5

Вам не потрібно нічого змінювати в CSS, ви можете безпосередньо написати це в класі, і ви отримаєте результат.

<div class="col-lg-4 col-md-4 col-sm-4 container justify-content-center">
  <div class="col" style="background:red">
    TEXT
  </div>
</div>

введіть тут опис зображення


4

без таблиці відображення та без завантажувальної програми, я б скоріше це зробив

<div class="container container-table">
    <div class="row vertical-center-row">
        <div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
    </div>
</div>


 html, body, .container-table {
    height: 100%;
}
.container-table {
    width:100vw;
  height:150px;
  border:1px solid black;
}
.vertical-center-row {
   margin:auto;
  width:30%;
  padding:63px;
  text-align:center;

}

http://codepen.io/matoeil/pen/PbbWgQ


2

Гарна відповідь ppollono. Я просто грав навколо, і я отримав трохи краще рішення. CSS залишився б колишнім, тобто:

html, body, .container {
    height: 100%;
}
.container {
    display: table;
    vertical-align: middle;
}
.vertical-center-row {
    display: table-cell;
    vertical-align: middle;
}

Але для HTML:

<div class="container">
    <div class="vertical-center-row">
        <div align="center">TEXT</div>
    </div>
</div>

Цього було б достатньо.


2

Не найкращий спосіб, але все одно буде працювати

<div class="container-fluid h-100">
<div class="row h-100">
<div class="col-lg-12"></div>
<div class="col-lg-12">
<div class="row h-100">
  <div class="col-lg-4"></div>
  <div class="col-lg-4 border">
    This div is in middle
  </div>
  <div class="col-lg-4"></div>
</div>

</div>
<div class="col-lg-12"></div>
</div>

</div>

1

Я думаю, що найпростіший спосіб зробити макет із завантажувальним інструментом такий:

<section>
<div class="container">
    <div class="row">
        <div align="center">
            <div style="max-width: 200px; background-color: blueviolet;">
                <div>
                    <h1 style="color: white;">Content goes here</h1>
                </div>
            </div>
        </div>
    </div>
</div>

все, що я робив, - це додавати шари div-файлів, які дозволяли мені зосереджувати div, але оскільки я не використовую відсотки, вам потрібно вказати максимальну ширину div, щоб бути центром.

Ви можете використовувати цей самий метод для центрування декількох стовпців, просто потрібно додати більше шарів div:

<div class="container">
    <div class="row">
        <div align="center">
            <div style="max-width: 400px; background-color: blueviolet;">
                <div class="col-md-12 col-sm-12 col-xs-12" style="background-color: blueviolet;">
                    <div class="col-md-8 col-sm-8 col-xs-12" style="background-color: darkcyan;">
                        <h1 style="color: white;">Some content</h1>
                    </div>
                    <div class="col-md-4 col-sm-4 col-xs-12" style="background-color: blue;">
                        <p style="color: white;">More content</p>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

Зауважте: що я додав div із стовпцем 12 для md, sm та xs, якщо ви цього не зробите, перший дів із кольором фону (у цьому випадку "blueviolet") зруйнується, ви зможете побачити дочірні діви , але не колір фону.


1

Для використання фактичної версії Bootstrap 4.3.1

Стиль

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<style type="text/css">
html, body {
    height: 100%;
}
</style>

Код

<div class="h-100 d-flex justify-content-center">
<div class="jumbotron my-auto">
<!-- example content -->
<div class="alert alert-success" role="alert">
<h4 class="alert-heading">Title</h4>
<p>Desc</p>
</div>
<!-- ./example content -->
</div>
</div

1

Спробуйте це. Для прикладу я використовував фіксовану висоту. Я думаю, що це не впливає на чуйний сценарій.

<html lang="en">
<head>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
    <div class="d-flex justify-content-center align-items-center bg-secondary w-100" style="height: 300px;">
        <div class="bg-primary" style="width: 200px; height: 50px;"></div>
    </div>
</body>
</html>


1

У Bootstrap 4 використовуйте:

<div class="d-flex justify-content-center">...</div>

Ви також можете змінити позицію залежно від того, що ви хочете:

<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>

Довідка тут


-1

Ось прості правила CSS, які ставлять будь-який дів у центр

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

https://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/


Чи можете ви розширити свою відповідь? Посилання, як правило, з часом старіють.
orique

2
Крім того, це не "спосіб завантаження" для досягнення цього.
FuriousFolder

-1

Найпростішим рішенням буде додавання одного порожнього стовпця в обидві сторони, як нижче:

  <div class="row form-group">

    <div class="col-3"></div>

    <ul class="list-group col-6">
      <li class="list-group-item active">Yuvraj Patil</li>
    </ul>

    <div class="col-3"></div>
  </div>

-2

jsFiddle

HTML :

<div class="container" id="parent">
  <div class="row">
    <div class="col-lg-12">text
      <div class="row ">
        <div class="col-md-4 col-md-offset-4" id="child">TEXT</div>
      </div>
    </div>
  </div>
</div>

CSS :

#parent {    
    text-align: center;
}
#child {
    margin: 0 auto;
    display: inline-block;
    background: red;
    color: white;
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.