Как вертикально центрировать контент в теле с помощью bootstrap 4

Я пытаюсь выровнять класс контейнера для жидкости в середине экрана как по горизонтали, так и по вертикали. Я пробовал много классов, которые должны были работать с бутстрапом, но они этого не сделали. Буду признателен за вашу помощь!

<body>
<div class = "container align-items-center justify-content-center">
    <div class = "row justify-content-center">
        <div class = "col-10 text-center" >
            <h1 style = "font-size:40pt;">Site in constructie</h1>
            <p>Ceva fain este in constructie!<br>
                Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p>
        </div>
        <div class = "col-10 col-md-6 py-5">
            <form id = "subscribeForLaunch" class = "input-group">
                <input type = "email" class = "form-control email" style = "background:rgba(255,255,255,0.8);" required = "required" placeholder = "Email" />
                <button class = "btn btn-info" onclick = "subscribeRelease(); return false;">Submit!</button>
            </form>
        </div>  
    </div>
</div>

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
0
1
1 038
3

Ответы 3

Чтобы сделать контейнер по вертикали и горизонтали центрированным, вам нужно сделать его родительским контейнером flexbox со свойствами align-items и justify-content в качестве центра. В вашем коде вы можете дать контейнеру непосредственный родительский div с высотой 100%, чтобы он занимал высоту тела.

<html>

<head>
    <link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
</head>

<body>
<div class = "h-100 d-flex  align-items-center justify-content-center">
        <div class = "container">
            <div class = "row justify-content-center">
                <div class = "col-10 text-center" >
                    <h1 style = "font-size:40pt;">Site in constructie</h1>
                    <p>Ceva fain este in constructie!<br>
                        Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p>
                </div>
                <div class = "col-10 col-md-6 py-5">
                    <form id = "subscribeForLaunch" class = "input-group">
                        <input type = "email" class = "form-control email" style = "background:rgba(255,255,255,0.8);" required = "required" placeholder = "Email" />
                        <button class = "btn btn-info" onclick = "subscribeRelease(); return false;">Submit!</button>
                    </form>
                </div>  
            </div>
        </div>
  </div>
    <script src = "https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src = "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
</body>

</html>

Вы можете сослаться на: https://dev.to/c0depanda/flexing-with-css-flexbox-1a2lhttps://getbootstrap.com/docs/4.0/utilities/flex/

Я только что сделал то, что вы предложили, но это все еще не работает. :(

user3637052 21.10.2018 00:19

взгляните на измененный код. Если он по-прежнему не работает, убедитесь, что вы связали файлы начальной загрузки css / js и jquery в правильном порядке. Если все еще не работает, опубликуйте весь код (заголовок, скрипт и т. д.)

Ravina Parab 22.10.2018 08:53

Сначала убедитесь, что body / html / container занимает полную высоту (вы можете использовать класс h-100), а затем добавьте align-self-center к содержимому, которое вы хотите центрировать:

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

<div class = "container-fluid h-100 justify-content-center">
    <div class = "row justify-content-center align-middle h-100">
        <div class = "col-10 text-center align-self-center">
            <h1 style = "font-size:40pt;">Site in constructie</h1>
            <p>Ceva fain este in constructie!<br>
                Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p>
        
          <form id = "subscribeForLaunch" class = "form-inline justify-content-center">
              <input type = "email" class = "form-control email" style = "background:rgba(255,255,255,0.8);" required = "required" placeholder = "Email" />
              <button class = "btn btn-info" onclick = "subscribeRelease(); return false;">Submit!</button>
          </form>
       </div>
    </div>
</div>

Также пробовал этот. Теперь я попробовал jsfiddle, и, похоже, он там работал, но не на моем веб-сайте. В чем может быть проблема?

user3637052 21.10.2018 12:41

вы скопировали, вставили html? у него есть некоторые другие модификации вашего исходного, например, я взял вашу форму и поместил ее в первый столбец (col-10), поскольку я не видел смысла иметь два столбца col-10

Iulius 21.10.2018 12:46

Да, я скопировал и вставил

user3637052 21.10.2018 12:49

перейдите в инструменты разработчика и убедитесь, что .row занимает всю высоту страницы

Iulius 21.10.2018 12:51

.row, .container-fluid, body {высота: 100%! important; } Это то, что я добавил в свою таблицу стилей, и все тот же

user3637052 21.10.2018 12:56

Так это 100%? 100% высота означает, что он займет 100% высоты родителей, и если этот родитель не на 100%, это не сработает. добавить HTML {height: 100%}

Iulius 21.10.2018 12:59

Попробуй это

 <link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
 
<div class = "container align-items-center justify-content-center">
    <div class = "row justify-content-center">
        <div class = "col-10 text-center" >
            <h1 style = "font-size:40pt;">Site in constructie</h1>
            <p>Ceva fain este in constructie!<br>
                Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p>

            <form id = "subscribeForLaunch" class = "input-group container pr-5">
                <input type = "email" class = "form-control email" style = "background:rgba(255,255,255,0.8);" required = "required" placeholder = "Email" />
                <button class = "btn btn-info pl-1" onclick = "subscribeRelease(); return false;"> Submit! </button>
            </form>
        </div> 
    </div>
</div>

Или это

       <link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" />
       
<div class = "d-flex justify-content-center">
    <div class = "row justify-content-center">
        <div class = "col-10 text-center" >
            <h1 style = "font-size:40pt;">Site in constructie</h1>
            <p>Ceva fain este in constructie!<br>
                Daca vrei sa fi intre primii care afla despre lansare<br> atunci introdu emailul tau si aboneaza-te!</p>

            <form id = "subscribeForLaunch" class = "input-group container pr-5">
                <input type = "email" class = "form-control email" style = "background:rgba(255,255,255,0.8);" required = "required" placeholder = "Email" />
                <button class = "btn btn-info pl-1" onclick = "subscribeRelease(); return false;">Submit!</button>
            </form>
        </div> 
    </div>
</div>

Скопированы оба, и они все еще не работают. :( он становится центрированным по горизонтали из-за выравнивания центра содержимого, но это все. Он остается вверху страницы.

user3637052 21.10.2018 12:29

Другие вопросы по теме