Bootstrap 4 по центру: Выравнивание по центру страницы, правильно-ли (Bootstrap 4)? — Хабр Q&A

Содержание

Текст. Утилиты · Bootstrap. Версия v4.0.0

Документация и примеры для обычных текстовых утилит для управления выравниванием, обертыванием, весом и тому подобное.

Выравнивание текста

Выравнивайте текст в соответствии с обновляющимся выравниванием компонентов с помощью классов выравнивания.

Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.

<p>Ambitioni dedisse scripsisse iudicaretur. Cras mattis iudicium purus sit amet fermentum. Donec sed odio operae, eu vulputate felis rhoncus. Praeterea iter est quasdam res quas ex communi. At nos hinc posthac, sitientis piros Afros. Petierunt uti sibi concilium totius Galliae in diem certam indicere. Cras mattis iudicium purus sit amet fermentum.</p>

For left, right, and center alignment, responsive classes are available that use the same viewport width breakpoints as the grid system.

Выровненный слева текст для всех размеров видовых экранов.

Выровненный по центру текст для всех размеров видовых экранов.

Выровненный справа текст во всех размерах видового экрана.

Выровненный слева текст для экрана размера SM (small) или более широкого.

Выровненный слева текст для экрана размера MD (medium) или более широкого.

Выровненный слева текст для экрана размера LG (large) или более широкого.

Выровненный слева текст для экрана размера XL (extra-large) или более широкого.

<p>Выровненный слева текст для всех размеров видовых экранов.</p>
<p>Выровненный по центру текст для всех размеров видовых экранов.</p>
<p>Выровненный справа текст во всех размерах видового экрана.</p>

<p>Выровненный слева текст для экрана размера SM (small) или более широкого.</p>
<p>Выровненный слева текст для экрана размера MD (medium) или более широкого.</p>
<p>Выровненный слева текст для экрана размера LG (large) или более широкого.</p>
<p>Выровненный слева текст для экрана размера XL (extra-large) или более широкого.</p>

Обертка текста и оверфлоу

Предотвращайте оборачивание текста с помощью класса .text-nowrap.

Этот текст должен выходить за текст родительского элемента.

<div>
  Этот текст должен выходить за текст родительского элемента.
</div>

Для более длинного контента вы можете добавить класс .text-truncate для усечения текста эллипсом. Требует

display: inline-block или display: block.

Praeterea iter est quasdam res quas ex communi.

Praeterea iter est quasdam res quas ex communi.
<!-- Block level -->
<div>
  <div>
    Praeterea iter est quasdam res quas ex communi.
  </div>
</div>

<!-- Inline level -->
<span>
  Praeterea iter est quasdam res quas ex communi.
</span>

Трансформация текста

Трансформируйте текст в компонентах с помощью классов заглавных букв.

Текст в нижнем регистре.

Текст в верхнем регистре.

разноРеГиСТровый текст.

<p>Текст в нижнем регистре.</p>
<p>Текст в верхнем регистре.</p>
<p>разноРеГиСТровый текст.</p>

Заметьте, что

text-capitalize меняет лишь первую букву каждого слова, оставляя регистр других неизменным.

Жирность текста и курсив

Изменяйте толщину и курсивность текста.

Жирный текст.

Нормальный текст.

Легкий текст.

Курсивный текст.

<p>Жирный текст.</p>
<p>Нормальный текст.</p>
<p>Легкий текст.</p>
<p>Курсивный текст.</p>

Bootstrap 4. Flexbox

Раньше Bootstrap использовал 12-ти колоночную сетку. Теперь используется новый режим flexbox, но основные приёмы работы с сеткой остались с небольшими изменениями.

Режим flexbox позволяет макету автоматически вычислять размер каждой колонки.


<div>
  <div>
    <div>
      Половинка
    </div>
    <div>
      Половинка
    </div>
  </div>
  
  <div>
    <div>
      Одна треть
    </div>
    <div>
      Одна треть
    </div>
    <div>
      Одна треть
    </div>
  </div>
</div>

Половинка

Половинка

Одна треть

Одна треть

Одна треть

Безразмерные колонки в сетке flexbox будут поровну делить доступное пространство, всегда заполняя весь ряд.

Можно указать размер для одной колонки, а остальные колонки равномерно распределят оставшееся пространство между собой. Укажем размер у среднего блока. Остальные распределятся поровну.


<div>
  <div>
    <div>
      (12 - 6) / 2 = 3
    </div>
    <div>
      6 колонок
    </div>
    <div>
      (12 - 6) / 2 = 3
    </div>
  </div>
  
  <div>
    <div>
      
    </div>
    <div>
      5 колонок
    </div>
    <div>
      
    </div>
  </div>
  
  <div>
    <div>
      
    </div>
    <div>
      4 колонки
    </div>
    <div>
      
    </div>
  </div>
</div>

(12 — 6) / 2 = 3

6 колонок

(12 — 6) / 2 = 3

Используя классы col-{breakpoint}-auto, можно создать блок, размер которого будет определяться его содержимым. Также для блока можно задать классы горизонтального выравнивания. В этом случае общий ряд будет сжат до необходимых размеров.


<div>
  <div>
    <div>
      1 of 3
    </div>
    <div>
      Слово
    </div>
    <div>
      3 of 3
    </div>
  </div>

  <div>
    <div>
      1 of 3
    </div>
    <div>
      Два слова
    </div>
    <div>
      3 of 3
    </div>
  </div>
  
    <div>
    <div>
      1 of 3
    </div>
    <div>
      Здесь три слова
    </div>
    <div>
      3 of 3
    </div>
  </div>
</div>

1 of 3

Два слова

3 of 3

1 of 3

Здесь три слова

3 of 3

Можно оставить стандартное поведение, не сжимая общую ширину.

1 of 3

Два слова

3 of 3


<div>
  <div>
    <div>
      1 of 3
    </div>
    <div>
      Два слова
    </div>
    <div>
      3 of 3
    </div>
  </div>
</div>

Вы можете использовать опорные точки для точного задания размеров колонок. В остальных случаях можно ограничиться классами col и col-*.


<div>
  <div>col</div>
  <div>col</div>
  <div>col</div>
  <div>col</div>
</div>
<div>
  <div>col-8</div>
  <div>col-4</div>
</div>

Из стопки в ряд

Используя классы col-sm-*, вы можете создать базовую сеточную систему, которая разместит блоки в виде стопки на телефонах, а затем будет выводить блоки в один ряд.


<div>
  <div>col-sm-8</div>
  <div>col-sm-4</div>
</div>
<div>
  <div>col-sm</div>
  <div>col-sm</div>
  <div>col-sm</div>
</div>

Смешиваем все классы

Можете комбинировать все классы, как вам нужно.

.col .col-md-8

.col-6 .col-md-4

.col-6 .col-md-4

.col-6 .col-md-4

.col-6 .col-md-4


<!-- Stack the columns on mobile by making one full-width and the other half-width -->
<div>
  <div>.col .col-md-8</div>
  <div>.col-6 .col-md-4</div>
</div>

<!-- Columns start at 50% wide on mobile and bump up to 33.3% wide on desktop -->
<div>
  <div>.col-6 .col-md-4</div>
  <div>.col-6 .col-md-4</div>
  <div>.col-6 .col-md-4</div>
</div>

<!-- Columns are always 50% wide, on mobile and desktop -->
<div>
  <div>.col-6</div>
  <div>.col-6</div>
</div>

Вертикальное выравнивание

Flexbox дает два способа вертикального позиционирования колонок.

Выравниваем колонки внутри ряда относительно верха, середины, низа, если позволяет высота. Указываем у row классы flex-items-xs-start, flex-items-xs-center, flex-items-xs-end.

По верху

По верху

По верху

По центру

По центру

По центру

По низу

По низу

По низу


<div>
  <div>
    <div>
      По верху
    </div>
    <div>
      По верху
    </div>
    <div>
      По верху
    </div>
  </div>
  <div>
    <div>
      По центру
    </div>
    <div>
      По центру
    </div>
    <div>
      По центру
    </div>
  </div>
  <div>
    <div>
      По низу
    </div>
    <div>
      По низу
    </div>
    <div>
      По низу
    </div>
  </div>
</div>

Также можно выровнять колонки внутри одного ряда относительно друг друга, если колонки будут использовать классы align-self-start, align-self-center, align-self-end.

One of three columns

One of three columns

One of three columns

<div> <div> <div> One of three columns </div> <div> One of three columns </div> <div> One of three columns </div> </div> </div>

Горизонтальное выравнивание

Создаём блоки, размер которых меньше 12 колонок. Дальше управляем их выравниванием из-за свободного места, указывая у ряда row классы justify-content-start, justify-content-center, justify-content-end. Также обратите внимание на классы justify-content-around, justify-content-between, которые окружают свободно место.

По левому краю

По левому краю

По центру

По центру

По правому краю

По правому краю


<div>
  <div>
    <div>
      По левому краю
    </div>
    <div>
      По левому краю
    </div>
  </div>
  
  <div>
    <div>
      По центру
    </div>
    <div>
      По центру
    </div>
  </div>
  
  <div>
    <div>
      По правому краю
    </div>
    <div>
      По правому краю
    </div>
  </div>
  
  <div>
    <div>
      Around
    </div>
    <div>
      Around
    </div>
  </div>
  
  <div>
    <div>
      Between
    </div>
    <div>
      Between
    </div>
  </div>
</div>

Промежутки

Используйте класс .no-gutters, чтобы убрать промежутки между блоками. Класс удаляет отрицательные margins из .row и горизонтальные padding из всех дочерних колонок.

.col-12 .col-sm-6 .col-md-8 no-gutters

.col-6 .col-md-4

.col-12 .col-sm-6 .col-md-8

.col-6 .col-md-4

Сортировка колонок

В обычной системе сеток, если нам необходимо поменять порядок колонок, нам нужно использовать push и pull.

Разработчики Bootstrap реализовали встроенное свойство flexbox order на основе трех классов сортировки, которые применим к колонкам col:

  • .flex-first – отображается первым
  • .flex-last – отображается последним
  • .flex-unordered – отображается между первым и последним

Первый, но не первый и не последний

Второй, но последний

Третий, но первый


<div>
  <div>
    <div>
      Первый, но не первый и не последний
    </div>
    <div>
      Второй, но последний
    </div>
    <div>
      Третий, но первый
    </div>
  </div>
</div>

Смещение колонок

Для сдвига колонок вправо используйте .offset-md-*, которые увеличивают левый отступ на * колонок. Например, .offset-md-4 сдвигает на четыре колонки.

.col-md-4

.col-md-4 .offset-md-4

.col-md-3 .offset-md-3

.col-md-3 .offset-md-3


<div>
  <div>
    <div>.col-md-4</div>
    <div>.col-md-4 .offset-md-4</div>
  </div>
  <div>
    <div>.col-md-3 .offset-md-3</div>
    <div>.col-md-3 .offset-md-3</div>
  </div>
  <div>
   <div>.col-md-6 .offset-md-3</div>
  </div>
</div>
Реклама

Как разместить блок по центру в Bootstrap 4

Вы здесь: Главная — CSS — CSS Основы — Как разместить блок по центру в Bootstrap 4

Доброго времени суток всем! В данной статье я хочу рассказать Вам как можно поместить в центре страницы какой-либо блок. Причем блок будет выровнен как горизонтально так и вертикально. Делать мы будет это на Bootstrap 4, поэтому для тех, кто только начинает изучать этот фреймворк далеко не очевидно — как можно отцентрировать некий блок Bootstrap 4.

Пример будет самый что ни есть практический — форма входа на сайт.

Итак, для начала немного теории: Bootstrap 4 во всю использует технологию Flexbox CSS, которая позволяет очень просто делать многие вещи, которые ранее в CSS требовали больших трудозатрат, например, центрировать блоки. Во фреймворке Bootstrap 4 для этого есть необходимые утилитарные классы, такие как .d-flex, .justify-content-center, .align-items-center.

Используя класс .d-flex — можно превратить блок в flex-блок, а его дочерние элементы в flex-элементы. После этого, к последним можно применять множество самых разнообразных классов, кастомизируя их отображение на странице. Например, их можно отцентрировать горизонтально с помощью класса .justify-content-center, который применяется к родительскому flex-блок. Вертикальное центрирование тоже не составляет труда, но здесь кроется небольшая хитрость. Если Вы примените класс .align-items-center к родительскому элементу, для того чтобы все его дочерние элементы выровнялись еще и вертикально — ничего не произойдет. А все потому, что высота тегов html, body и .container должна быть равна 100%. Для того, чтобы сделать высоту контейнера в Bootstrap равной 100% нужно использовать класс .h-100. Далее я приведу непосредственно код:


<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

    <title>Hello, world!</title>

    <style>

        html, body {
            height: 100%;
        }

        body {
            background-color: azure;
        }

    </style>

  </head>
  <body>
    
    

    <div class="container-fluid d-flex h-100 justify-content-center align-items-center p-0">

        <div class="row bg-white shadow-sm">

           <div class="col border rounded p-4">
            <h4 class="text-center mb-4">Вход</h4>
            <form>
                <div class="form-group">
                  <label for="exampleInputEmail1">Email</label>
                  <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
                </div>
                <div class="form-group">
                  <label for="exampleInputPassword1">Пароль</label>
                  <input type="password" class="form-control" id="exampleInputPassword1">
                </div>
                <div class="form-group form-check">
                  <input type="checkbox" class="form-check-input" id="exampleCheck1">
                  <label class="form-check-label" for="exampleCheck1">Запомнить</label>
                </div>
                <button type="submit" class="btn btn-primary w-100">Войти</button>
              </form>
           </div>
        </div>
    </div>

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: jQuery and Bootstrap Bundle (includes Popper) -->
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ho+j7jyWK8fNQe+A12Hb8AhRq26LrZ/JpcUGGOn+Y7RsweNrtN/tE3MoK7ZeZDyx" crossorigin="anonymous"></script>
  </body>
</html>

И вот таким образом мы поместили блок по центру страницы.

  • Создано 20.10.2020 13:59:15
  • Михаил Русаков
Предыдущая статья Следующая статья

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:
    <a href=»https://myrusakov.ru» target=»_blank»><img src=»https://myrusakov.ru/images/button.gif» alt=»Как создать свой сайт» /></a>

    Она выглядит вот так:

  2. Текстовая ссылка:
    <a href=»https://myrusakov.ru» target=»_blank»>Как создать свой сайт</a>

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):
    [URL=»https://myrusakov.ru»]Как создать свой сайт[/URL]

Как разместить div горизонтально по центру в Bootstrap 4 — Bootstrap RUS

В макетах веб-дизайна очень часто используется горизонтальное выравнивание столбца в ряде(row) или контейнере. Но как это сделать, используя классы Bootstrap? Ниже приведены некоторые различные способы достижения этого эффекта.

Cодержание

Вариант 1 — Bootstrap Смещение

Вы можете использовать классы Bootstrap Offset для горизонтального сдвига столбцов влево или вправо. Это полезно, когда вы хотите, чтобы один столбец имел максимальную ширину, но выравнивал его в row.


  <div>
    <div>
      <h4>Смотри! Я по центру</h4>
    </div>
  </div>

Вариант 2 — Автоматически рассчитанный отступ

В этом примере устанавливается максимальная ширина для средних точек прерывания и до 8 столбцов в ширину. Затем я добавил класс .mx-auto, который устанавливает левое и правое поля для автоматического центрирования его горизонтально внутри контейнера .row.


  <div>
    <div>
      <h4>И я тоже!</h4>
    </div>
  </div>

Вариант 3 — Bootstrap утилита ширины

В этом примере я использую класс Bootstrap утилиты ширины .w-50, чтобы сделать div на 50% ширины. Затем я добавил класс .mx-auto, который устанавливает левое и правое поля для автоматического выравнивания горизонтально внутри контейнера .row.


  <div>
    <div>
      <h4>Я тоже с вами!</h4>
    </div>
  </div>

Заключение

Как и в большинстве случаев в веб-разработке, существует несколько способов достижения одного и того же результата. Выбор правильного подхода для вашего проекта зависит от того, что, по вашему мнению, легче всего запомнить и поддерживать. Лично мне нравится вариант 1, потому что он позволяет горизонтально разместить контейнер на больших экранах, а затем перейти на полную ширину на мобильных устройствах.

Смотреть в Codepen

Bootstrap Бутстрап 4 Flex



Bootstrap 4 Flex

Используйте классы Flex для управления компоновкой компонентов Bootstrap 4.


Flexbox

Самая большая разница между Bootstrap 3 и Bootstrap 4 заключается в том, что BootStrap 4 теперь использует Flexbox, а не float, для обработки макета.

Модуль компоновки гибких коробок упрощает разработку гибкой адаптивной структуры макета без использования float или позиционирования. Если вы новичок в Flex, вы можете прочитать об этом в нашем CSS Flexbox учебник.

Примечание: Flexbox не поддерживается в IE9 и более ранних версиях.

Если вам нужна поддержка IE8-9, используйте Bootstrap 3. Это наиболее стабильная версия Bootstrap, и она по-прежнему поддерживается командой для критических исправлений и изменений в документации. Тем не менее, новые функции не будут добавлены к нему.

Для создания контейнера Flexbox и преобразования прямых дочерних элементов в элементы Flex используйте d-flex класс:

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>

Чтобы создать встроенный контейнер Flexbox, используйте d-inline-flex класс:

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>


Горизонтальное направление

Используется .flex-row для отображения элементов Flex горизонтально (бок о бок). Это значение по умолчанию.

Совет: используйте .flex-row-reverse Выравнивание по горизонтали по правому краю:

Пример

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Пример


  Flex item 1
  Flex item 2
  Flex item 3

<div class=»d-flex flex-row-reverse bg-secondary»>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>


Вертикальное направление

Используется .flex-column для отображения элементов Flex вертикально (поверх друг друга) или для изменения .flex-column-reverse вертикального направления:

Пример

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Пример


  Flex item 1
  Flex item 2
  Flex item 3

<div class=»d-flex flex-column-reverse»>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>



Выравнивание содержимого

Используйте .justify-content-* классы для изменения выравнивания элементов Flex. Допустимые классы start (по умолчанию),,, end center between или around:

Пример

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Пример

<div>…</div>
<div>…</div>
<div>…</div>
<div>…</div>
<div>…</div>


Заливка/равная ширина

Используйте .flex-fill для элементов Flex, чтобы заставить их в равной ширины:

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>


Grow

Используйте для .flex-grow-1 элемента Flex, чтобы занять оставшуюся часть пространства. В приведенном ниже примере первые два элемента Flex занимают необходимое пространство, в то время как последний элемент занимает оставшуюся часть доступного пространства:

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>

Совет: Используйте .flex-shrink-1 на Flex элемент, чтобы сделать его сжатие, если это необходимо.


Order

Изменение визуального порядка конкретных элементов Flex с помощью .order классов. Допустимые классы от 0 до 12, где наименьшее число имеет наивысший приоритет (Order-1 отображается перед порядком-2 и т.д.):

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>


Автоматические поля

С легкостью добавляйте автоматические поля в элементы Flex .mr-auto (нажимайте элементы вправо) или с помощью .ml-auto (передвиньте элементы влево):

Пример

Flex item 1

Flex item 2

Flex item 3

Flex item 1

Flex item 2

Flex item 3

Пример


  Flex item 1
  Flex item 2
  Flex item 3

<div>
  <div class=»p-2 bg-info»>Flex item 1</div>
  <div>Flex item 2</div>
  <div>Flex item 3</div>
</div>


Обернуть

Управление переносом элементов Flex в контейнер Flex с помощью .flex-nowrap (по умолчанию) .flex-wrap или .flex-wrap-reverse.

Нажмите на кнопки ниже, чтобы увидеть разницу между тремя классами, по Чанг в упаковке Flex элементов в примере поле:

flex-wrap flex-wrap-reverse flex-nowrap

Пример

Flex item 1

Flex item 2

Flex item 3

Flex item 4

Flex item 5

Flex item 6

Flex item 7

Flex item 8

Flex item 9

Flex item 10

Flex item 11

Flex item 12

Flex item 13

Flex item 14

Flex item 15

Flex item 16

Flex item 17

Flex item 18

Flex item 19

Flex item 20

Flex item 21

Flex item 22

Flex item 23

Flex item 24

Flex item 25

Пример

..

<div>..</div>

<div>..</div>


Выравнивание содержимого

Управление вертикальным выравниванием собранных элементов Flex с помощью .align-content-* классов. Допустимые классы .align-content-start (по умолчанию),,,, .align-content-end .align-content-center .align-content-between .align-content-around и .align-content-stretch .

Примечание: Эти классы не влияют на отдельные строки элементов Flex.

Нажмите на кнопки ниже, чтобы увидеть разницу между пятью классами, изменив вертикальное выравнивание элементов Flex в поле пример:

align-content-start align-content-end align-content-center align-content-around align-content-stretch

Example

Flex item 1

Flex item 2

Flex item 3

Flex item 4

Flex item 5

Flex item 6

Flex item 7

Flex item 8

Flex item 9

Flex item 10

Flex item 11

Flex item 12

Flex item 13

Flex item 14

Flex item 15

Flex item 16

Flex item 17

Flex item 18

Flex item 19

Flex item 20

Flex item 21

Flex item 22

Flex item 23

Flex item 24

Flex item 25

Пример

..

<div>..</div>

<div>..</div>

<div>..</div>

<div>..</div>


Выравнивание элементов

Управление вертикальным выравниванием отдельных строк элементов Flex с помощью .align-items-* классов. Допустимые классы .align-items-start:, .align-items-end, .align-items-center .align-items-baseline и .align-items-stretch (по умолчанию).

Нажмите на кнопки ниже, чтобы увидеть разницу между пятью классами:

align-items-start align-items-end align-items-center align-items-baseline align-items-stretch

Пример

Flex item 1

Flex item 2

Flex item 3

Пример

..

<div>..</div>

<div>..</div>

<div>..</div>

<div>..</div>


Выравнивание себя

Управление вертикальным выравниванием заданного элемента Flex с классами .align-self-*. Допустимые классы .align-self-start:, .align-self-end, .align-self-center .align-self-baseline и .align-self-stretch (по умолчанию).

Нажмите на кнопки ниже, чтобы увидеть разницу между пятью классами:

align-self-start align-self-end align-self-center align-self-baseline align-self-stretch

Example

Flex item 1

Flex item 2

Flex item 3

Пример

<div>
  <div class=»p-2 border»>Flex item 1</div>
  <div>Flex item 2</div>
  <div class=»p-2 border»>Flex item 3</div>
</div>


Адаптивные классы Flex

Все классы Flex оснащены дополнительными адаптивными классами, что упрощает задание определенного класса Flex для определенного размера экрана.

*символ может быть заменен SM, MD, LG или XL, который представляет малые, средние, большие или XLarge экраны.

Класс Описание
Flex Container    
.d-*-flex Создает контейнер Flexbox для различных экранов
.d-*-inline-flex Создает встроенный Flexbox контейнер для различных экранов
Direction    
.flex-*-row Отображать гибкие элементы по горизонтали на разных экранах
.flex-*-row-reverse Отображение гибких элементов по горизонтали и по правому краю на разных экранах
.flex-*-column Отображать гибкие элементы по вертикали на разных экранах
.flex-*-column-reverse Отображать гибкие элементы по вертикали, с обратным порядком, на разных экранах
Justified Content    
.justify-content-*-start Отображать элементы Flex с начала (по левому краю) на разных экранах
.justify-content-*-end Отображение элементов Flex в конце (по правому краю) на разных экранах
.justify-content-*-center Отображение элементов Flex в центре контейнера Flex на разных экранах
.justify-content-*-between Отображать гибкие элементы в «между» на разных экранах
.justify-content-*-around Отображать гибкие элементы «вокруг» на разных экранах
Fill / Equal Width    
.flex-*-fill Принудить элементы Flex к одинаковой ширине на разных экранах
Grow    
.flex-*-grow-0 Не делайте элементы растут на разных экранах  
.flex-*-grow-1 Сделать элементы растут на разных экранах  
Shrink    
.flex-*-shrink-0 Не делайте элементы термоусадочные на разные экраны  
.flex-*-shrink-1 Сжатие элементов на разных экранах  
Order    
.order-*-0-12 Изменение порядка от 0 до 12 на маленьких экранах
Wrap    
.flex-*-nowrap Не оборачивать элементы на разных экранах
.flex-*-wrap Перенос элементов на различные экраны
.flex-*-wrap-reverse Реверсировать обтекание элементов на разных экранах
Align Content    
.align-content-*-start Выравнивание собранных элементов с начала на разных экранах
.align-content-*-end Выравнивание собранных элементов в конце на разных экранах
.align-content-*-center Выравнивание собранных элементов в центре на разных экранах
.align-content-*-around Выравнивание собранных элементов «вокруг» на разных экранах
.align-content-*-stretch Растянуть собранные элементы на разных экранах
Align Items    
.align-items-*-start Выравнивание отдельных рядов элементов с начала на разных экранах
.align-items-*-end Выравнивание отдельных рядов элементов в конце на разных экранах
.align-items-*-center Выравнивание одиночных рядов элементов в центре на разных экранах
.align-items-*-baseline Выравнивание отдельных строк элементов на базовой линии на разных экранах
.align-items-*-stretch Растянуть отдельные ряды элементов на разных экранах
Align Self    
.align-self-*-start Выравнивание элемента Flex с начала на разных экранах
.align-self-*-end Выравнивание элемента Flex в конце на разных экранах
.align-self-*-center Выравнивание элемента Flex в центре на разных экранах
.align-self-*-baseline Выравнивание элемента Flex по базовой линии на разных экранах
.align-self-*-stretch Растянуть гибкий элемент на разных экранах

Сетка в Bootstrap 4. Подробное руководство | by Stas Bagretsov

Понимание сеток в Bootstrap — это самый важный момент работы с этим замечательным фреймворком, понимая сетки, вы сможете делать на нем без препятствий буквально всё, что захотите. Советую почитать статьи Узнаем Bootstrap 4 за 30 минут, создавая лендинг и Самые полезные хитрости в Bootstrap

Перевод статьи How the Bootstrap 4 Grid Works

👉Мой Твиттер — там много из мира фронтенда, да и вообще поговорим🖖. Подписывайтесь, будет интересно: ) ✈️

Система сеток в Bootstrap используется для создания раскладок, а в частности для создания их адаптивности. Понимание того, как это работает — является жизненно важным моментом при работе с Bootstrap. Сетка сделана из группирования строк и колонок внутри одного или нескольких контейнеров.

Сетки на Bootstrap могут использоваться отдельно, без Bootstrap JavaScript и других CSS компонентов. Вам надо только скачать и сослаться на "bootstrap-grid.css", который включает в себя flexbox классы и классы для сетки. Вообще, более подробно для этого есть отдельная документация на официальном сайте.

Вот самый простой пример применения сетки:

<divku da">container"> 
<divku da">row">
<divku da">col">I'm your content inside the grid!</div>
</div>
</div>

Этот код выдаст нам одну большую колонку на всю ширину вьюпорта.

А вот уже две колонки:

<divku da">container"> 
<divku da">row">
<divku da">col">Left column</div>
<divku da">col">Right column</div>
</div>
</div>

И вот на три колонки:

<divku da">container"> 
<divku da">row">
<divku da">col">Left column</div>
<divku da">col">Center column</div>
<divku da">col">Right column</div>
</div>
</div>

Обратите внимание, что светлые серые линии границ вокруг колонок в примере были добавлены, чтобы вы визуально могли выделить каждую колонку. Вот рабочие шаблоны на Codeply.

Простые концепты сетки очень быстро можно понять, но вы уже наверное начинаете удивляться, почему вся эта HTML разметка так необходима. У вас уже возможно есть несколько вопросов, таких как: Зачем мне нужен контейнер? Могу ли я сделать один контейнер шире, чем другие?

Я коснусь этих вопросов немного позже. Но сначала, я хочу сделать шаг назад и объяснить кое-что важное, по поводу использования сеток.

Поверьте мне. Понимание “Правил сетки” сэкономит вам кучу времени и нервов. Прочитайте их очень внимательно.

Правила сетки:

Колонки должны быть прямыми потомками Row

Row используются только для того, чтобы включать в себя колонки и не для ничего больше.

Row должны быть помещены внутри контейнера

Эти правила ОЧЕНЬ ВАЖНЫ. Строки и колонки всегда работают вместе и вам надо смотреть за тем, что один не оставался без другого.

Ждите косяка, если вы не будете соблюдать эти три простые правила. Я ответил на бесчисленное количество вопросов на Stack Overflow, просто применяя эти правила. По началу, это может быть довольно сложным, но всё последующее реально станет доступным для понимания, после того, как вы поймете то, как работает сетка.

Как использовать сетку Bootstrap. Правильный подход.

Контейнер

В простом примере до этого, вы возможно подметили, что я использовал .container, чтобы обернуть .row. Контейнер это вообще ключевой элемент сетки в Bootstrap.

<divku da">container"> 
<divku da">row">
<divku da">col">I'm content inside the grid!</div>
</div>
</div>

Контейнер может использоваться для хранения любых элементов и самого контента. Он используется не только для строк и колонок сетки. Для примера, вот идеальная и правильная разметка Bootstrap:

<div>
<h3>My Heading</h3>
<div>
<div>I'm content inside the grid!</div>
</div>
</div>

Не игнорируйте контейнер

С первого взгляда, контейнер может показаться пустяковым и не сильно уж нужным, но он очень важен для контроля ширины шаблона. Контейнер также используется для равномерного выравнивания граней шаблона внутри вьюпорта браузера. Контейнер используется, чтобы противодействовать отрицательным внешним отступам row, о чем я расскажу немного позже.

У Bootstrap 4 есть 2 типа контейнера. В моих примерах я использовал .container, но также есть и полноэкранный .container-fluid. Вы можете использовать любой из них:

1 — Контейнер с фиксированной шириной, для центровки контейнера по середине шаблона.

<div></div>

2 — Контейнер с шириной во весь экран.

<div></div>

.container масштабируется адаптивно по ширине экрана, так что в конце концов он может стать шириной на весь экран, как и .container-fluid, но на маленьких устройствах.

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

Применяя сетку, более одной строки может быть помещено внутри контейнера. Вы можете иметь их сколько угодно в самом контейнере и вы также можете иметь сколько хотите контейнеров на странице. Все зависит от того, какой шаблон вы пытаетесь сверстать, но пока что не сильно заморачивайтесь по этому поводу.

У строк (rows) есть отрицательные левые/правые внешние отступы в -15px. Внутренний отступ контейнера в 15px используется для пресечения срабатывания отрицательных внешних отступов в строке контейнера. Это делается для равномерного выравнивания по граням в шаблоне. Если вы не поместите строку (row) в контейнер, то она будет выходить за пределы своего контейнера, вызывая нежелательные горизонтальные прокрутки.

Строки (Rows) и Колонки (Columns)

Сейчас, я бы хотел, чтобы .row в Bootstrap не были на самом деле именованы как “строки” (row). Название “строка”, зачастую запутывающее и скрывает настоящее предназначение .row.

Когда вы думаете о строке, вы возможно думаете о горизонтальной линии, что вполне ОК, НО, лучше думать о строке, как о родителе для колонок.

Думайте о строках, как о группе колонок (Columns)

Это потому, что колонки внутри .row не всегда располагаются горизонтально вдоль вьюпорта. Иногда нам надо, чтобы колонки в шаблоне были горизотальны, а иногда нам надо, чтобы они располагались вертикально. Концепция горизонтального vs. Вертикального шаблона является сущностью адаптивного дизайна. Единственным предназначением “строки”, является содержание одной или более “колонки”.

Не вставляйте контент прямо в “строку”!

Так делать нельзя:

<div>
This is very bad, wrong way, no bueno!!
</div><div>
<p>This is also very bad, the wrong way!!</p>
</div><div>
<h3>No headings either! This is the wrong way!!</h3>
</div>

“колонки” и только колонки, размещаются внутри “строк”.

А контент размещается уже внутри “колонок”.

<div>
<div>Happy :-) This is the right way.</div>
</div>

Так же очень важно упомянуть, что .row имеет display: flex. А как потомок в Flexbox, “колонка” в каждой строке одной и той же высоты.

Благодаря Flexbox, горизонтальное и вертикальное выравнивание легко делается с использованием рабочих классов Bootstrap 4 — flex и auto-margin.

А теперь настало время углубиться в строки и колонки и то, как они на самом деле взаимодействуют. Есть разные типы колонок и разные способы использования их в шаблоне. Они как магия.

Счастье в колонках!

Создают горизонтальные разделители по вьюпорту.

Могут иметь разную ширину.

Раскладку горизонтально слева направо, вертикально сверху вниз.

Могут изменять позицию (порядок) относительно родственных элементов в той же строке.

Имеют ту же высоту, что и другие родственные элементы в той же строке.

Могут “расти” или “урезаться” по ширине.

Могут автоматически врапиться или вертикально “слепляться” при необходимости или при нужной ширине экрана.

Могут содержать больше строк и колонок при вложении.

Всё что нужно знать о колонках Bootstrap

Снова не забываем, что колонки должны быть прямыми потомками строк.

И так, колонки создают горизонтальные деления по вьюпорту. Пространство между колонками называется “gutter”.

Классическая сетка Bootstrap имеет 12 колонок:

Таким образом, колонки могут быть равномерно разделены на 12 частей. Вот пример, 6 колонок (12/6=2) :

И дальше уже дело простой математики:

Колонки могут быть разделены с использованием любой части из 12 элементов. И это нормально — использовать меньше 12. И также, это нормально — использовать больше 12-ти, но это я покажу вам дальше.

Учитывая такую гибкость, возможности шаблона кажутся бесконечными.

Но сетка не всегда может быть из 12 элементов. Спасибо flexbox, у Bootstrap 4 есть новые “auto-layout” колонки. Такие безразмерные колонки дают вам больше гибкости при разработке шаблонов.

Примеры работы с сеткой в Bootstrap 4

В Bootstrap 4 используются следующие идентификаторы размеров:


Extra small
<576px


Small
≥576px


Medium
≥768px


Large
≥992px


Extra large
≥1200px

Максимальная
ширина контейнера

None (auto)

540px

720px

960px

1140px

Префикс класса

col-*

col-sm-*

col-md-*

col-lg-*

col-xl-*

Где вместо звездочки задается ширина колонки в количестве «элементарных столцов», число корторых в Bootstrap 4, так же как и в Bootstrap 3, фиксировано, и составляет 12 столбцов в одном контентном блоке.

Для каждого идентификатора размера считается, что количество колонок в данном размере — 12 штук. Правила верстки сделаны так, что они распространяются на указанный размер экрана и выше, если не указано другое. Для более мелких идентификаторов размеров, если не специализировано иное, считается, что ширина блока 12 колонок. Именно поэтому, блоки на экранов мелких размеров выстраиваются «в столбик» по вертикали.

Совершенно обычным делом считается подход, когда суммарное количество столбцов в блоках. размещенных в одной строке row, больше чем 12. Тогда колонки, занимаемые столбцы после 12-го, будут отображаться с новой строки.

Пример верстки макета:

<section>

<div>

<div>

<div>A1</div>

<div>A2</div>

</div>

</div>

</section>

<section>

<div>

B

</div>

</section>

<section>

<div>

<div>

<div>C1</div>

<div>C2</div>

<div>C3</div>

</div>

</div>

</section>

<section>

<div>

<div>

<div>D1</div>

<div>D2</div>

<div>D3</div>

<div>D4</div>

</div>

</div>

</section>

Автоматическая ширина ячеек

Если колонка прописывается с классом col (без тире и числа столбцов), то ширина колонки расчитывается автоматически так, чтобы она занимала максимально возможное свободное место. Например:

<divcol»>1</div>

<div>2</div>

<div>3</div>

</div>

Данный код покажет строку из трех равноширинных ячеек.

Иногда стоит немного другая задача — выделить под ширину ячейки столько, сколько занимает контент ячейки. Для это можно воспользоваться классом вида col-sm-auto.

Размещение ячеек по центру строки

Иногда необходимо разместить ячейку по центру строки. Делается это путем указания специального класса выравнивания вида justify-content-sm-center для блока row, вот так:

<div>

<div>

Тут текст

</div>

</div>

То есть, все колонки в теге с классом row и дополнительным классом выравнивания, будут выровнены по центру. Если колонок несколько, то по центру будет выровнена вся группа колонок вместе (а не каждая колонка по отдельности, естественно).

Как центрировать div по горизонтали в Bootstrap 4 2021

  • читать

Очень часто в макетах веб-дизайна центрировать столбец в строке или контейнере по горизонтали. Но как это сделать с помощью классов Bootstrap? Ниже приведены несколько различных способов достижения этого эффекта.

Вариант 1 — Смещение начальной загрузки

Классы смещения начальной загрузки можно использовать для горизонтального смещения столбцов влево или вправо.Это полезно, когда вы хотите, чтобы один столбец имел максимальную ширину, но располагал его по центру в строке.

Смотри! Я центрирован по горизонтали

Смотрите! Я центрирован по горизонтали

Вариант 2 — Margin Auto

В этом примере устанавливается максимальная ширина для средних контрольных точек и до 8 столбцов в ширину.Затем я добавил служебный класс .mx-auto , который устанавливает поле слева и справа для автоматического центрирования по горизонтали внутри контейнера .row .

Я тоже!

Я тоже!

Вариант 3 — Утилита Bootstrap Width

В этом примере я использую служебный класс Bootstrap width.w-50, чтобы все время делать div шириной 50%. Затем я добавил служебный класс .mx-auto , который устанавливает поле слева и справа для автоматического центрирования по горизонтали внутри контейнера .row .

Я Трое!

Я Трое!

Вариант 4 — Используйте классы Flexbox

Если у вас есть несколько элементов, которые вы хотите центрировать, вы можете попробовать использовать комбинацию классов Flexbox.Вот шпаргалка по flexbox, показывающая, как они работают.

пункт 1
пункт 2
пункт 3

элемент 1

элемент 2

item 3

Заключение

Как и в большинстве случаев в веб-разработке, существует несколько способов достижения одного и того же результата.Выбор правильного подхода для вашего проекта зависит от того, что, по вашему мнению, легче всего запомнить и поддерживать. Лично мне нравится вариант 1, потому что он позволяет центрировать столбец по горизонтали на больших экранах, а затем перемещаться по всей ширине на мобильных устройствах.

Посмотреть демонстрацию Codepen

Как центрировать столбец в Bootstrap

Тема: Bootstrap / SassPrev | Следующий

Ответ: Используйте

mx-auto Class

Если вы используете версию Bootstrap 4 , вы можете центрировать столбец сетки по горизонтали, применив класс .mx-auto на нем. Давайте попробуем следующий пример, чтобы увидеть, как это работает:

  

В качестве альтернативы вы также можете применить класс .justify-content-center к элементу .row , чтобы центрировать столбец по горизонтали. Давайте посмотрим на следующий пример:

  

Но в Bootstrap 3 все немного иначе.Если номер столбца сетки четный (например, 2, 4, 6, 8, 10, 12), вы можете использовать класс .col- {xs | sm | md | lg} -offset- * для выравнивания столбца в центр, вот так:

  

Однако, если номер столбца сетки нечетный (например, 1, 3, 5, 7, 9, 11), вы должны использовать некоторый собственный CSS.Давайте посмотрим на следующий пример, чтобы понять, как это в основном работает:

  / * код CSS * /
.col-centered {
    float: нет;
    маржа: 0 авто;
}
 


Вопросы и ответы по теме

Вот еще несколько часто задаваемых вопросов по этой теме:

Bootstrap 4 Центральное вертикальное и горизонтальное выравнивание

Решение:

Обновление 2019 Bootstrap 4.3,1

Нет не нужен для дополнительных CSS . То, что уже включено в Bootstrap, будет работать. Убедитесь, что емкость (и) формы составляет при полной высоте . Bootstrap 4 теперь имеет класс h-100 для высоты 100% …

Вертикальный центр:

  
<форма>

https: // codeply.com / go / raCutAGHre

высота контейнера с предметами в центре должна быть 100% (или любая другая желаемая высота относительно центрируемого элемента)

Примечание. При использовании высоты : 100% ( процентной высоты ) для любого элемента, элемент принимает высоту своего контейнера . В современных браузерах vh блоки высота: 100vh; можно использовать вместо % , чтобы получить желаемую высоту.

Таким образом, вы можете установить html, body {height: 100%} или использовать новый класс min-vh-100 для контейнера вместо h-100 .


Горизонтальный центр:

  • текстовый центр по центру Отображение: встроенные элементы и содержимое столбца
  • mx-auto для центрирования внутренних гибких элементов
  • offset- * или mx-auto можно использовать с центральными колоннами ( .col- )
  • justify-content-center центральные столбцы ( col- * ) внутри строки

Вертикальное выравнивание по центру в Bootstrap 4
Bootstrap 4, полноэкранный режим с центрированием
Bootstrap 4, центральная группа ввода
Bootstrap 4, горизонтальный + вертикальный центральный полноэкранный режим

Мне эта работа:

  <раздел>
  <заголовок>
    

пункт 1

пункт 2

flexbox может вам помочь.информация здесь

  
1
2

Как центрировать div в Bootstrap 4? — HTML и CSS — Форумы SitePoint

Похоже, что я не могу редактировать сообщение, из-за этого размещу его здесь:

Этот Div выглядит так, как задумано:

  

Создать

Тест

<форма>

Этот div не содержит:

  
<метка> Добавить вопрос <метка> Вопрос с открытым ответом <метка> Вопрос только с одним правильным ответом
>

CSS хорошего div:

 
#tCreateTest {
    цвет фона: # C5C9B8;
    ширина: 100%;
    цвет: # 333333;
    высота: 150 пикселей;
    маржа: 0 авто;
    переполнение: скрыто;
    align-items: center;
    justify-content: пространство вокруг;
    дисплей: гибкий;
    float: нет;
}
#submitTitle {

    align-items: center;
    justify-content: пространство вокруг;
    дисплей: гибкий;
}
  

CSS третьего div:

  #addQuestion {
    цвет фона: # C5C9B8;
    ширина: 100%;
    цвет: # 333333;
    высота: 500 пикселей;
    маржа: 0 авто;
    переполнение: скрыто;
    отступ: 10 пикселей 0;
    align-items: center;
    justify-content: пространство вокруг;
    дисплей: гибкий;
    float: нет;

}
  

Чего я пытаюсь достичь:

  • Я хочу, чтобы третий блок (группа кнопок) выглядел как блок выше.
    -Группа кнопок должна иметь такую ​​же ширину, как указанная выше.
    -Я хочу иметь такое же поле между кнопкой и группой кнопок, как между группой формы и кнопкой отправки.
    — Разрыв между двумя блоками слишком велик.

Спасибо

twitter-bootstrap Tutorial => Bootstrap 4 Centering

Пример

Как центрировать элемент, столбец или содержимое внутри столбца работает по-другому в Bootstrap 4.

Горизонтальный центр
  • текстовый центр все еще используется для отображения : встроенные элементы
  • mx-auto заменяет центральный блок на центральный дисплей: блок элементов
  • offset- * или mx-auto можно использовать для центрирования столбцов сетки

mx-auto (автоматические поля оси x) будет центрировать display: block или display: flex elements, которые имеют определенную ширину , (% , vw , px и т. Д. ..). Flexbox используется по умолчанию для столбцов сетки, поэтому существуют также различные методы центрирования flexbox.

Центрировать текст или встроенные элементы: текстовый центр

  

я в центре

Я в центре!

Центр Дисплей: блок или Дисплей: гибкий : mx-auto

  

Центрировать колонны с использованием смещений: смещение- *

  
Я по центру .col-4 (смещение 4)

Колонны можно также центрировать с помощью: mx-auto

  
У меня по центру .col-4

Демо Bootstrap 4 Горизонтальное центрирование


Вертикальный центр

Для вертикального центрирования в Bootstrap 4 (ось Y) см. Документацию по: Bootstrap 4 Vertical Align




Bootstrap 4: Выровнять Div или Form по вертикали и горизонтали

Центрирование HTML-элемента по горизонтали с помощью CSS, будь то «div» или «форма», всегда было легко для веб-разработчиков, по крайней мере, в последние 10 лет или около того.

Но как насчет центрирования одного и того же элемента по вертикали, чтобы он всегда оставался в центре страницы или в центре своего родительского элемента?

Что ж, это было очень сложной задачей в течение многих лет (по крайней мере, для меня), и некоторые разработчики также использовали JavaScript в некоторых ситуациях для получения желаемого результата.

Это продолжало оставаться проблемой, по крайней мере для меня, до появления макета CSS flexbox и утилит flexbox, предлагаемых в Bootstrap 4.

И именно об этом мы поговорим в сегодняшнем руководстве.

Мы увидим 3 примера , где мы берем «div» и «форму». и выровняем их по центру, вертикально и горизонтально , используя Bootstrap 4 (текущая версия 4.3.1).

По окончании обучения вы можете загрузить все файлы в виде удобных шаблонов.

Начнем!

Пример 1. Выровнять «Div» по центру другого «Div», фиксированная высота, не полный экран

В этом первом примере мы выровняем элемент «div» внутри его родительского «div», который имеет фиксированную высоту.Это окончательный результат :

Мы добьемся этого с помощью некоторого кода HTML и CSS и некоторых удобных классов, предлагаемых Bootstrap 4. Давайте сначала посмотрим код, а затем объясним его.

HTML-код (файл index.html, я не показываю весь код страницы):

Bootstrap 4: выровнять по центру

Учебное пособие о том, как выровнять элемент «div» по вертикали и горизонтали в Bootstrap 4.

Это наш "div" с выравниванием по центру.

Код CSS (файл «style.css», папка «assets / css /», я не показываю весь код CSS страницы):

.div-wrapper {
    высота: 200 пикселей;
    маржа сверху: 40 пикселей;
    граница: 2px пунктирная #ddd;
    радиус границы: 8 пикселей;
}

.div-to-align {
    ширина: 75%;
    отступ: 40 пикселей 20 пикселей;

    / * .... * /
}
 

Итак, в нескольких словах, мы хотим выровнять div с классом «div-to-align» в центре его родительского div, который имеет класс «div-wrapper» .

Родительский div имеет фиксированную высоту 200 пикселей (устанавливается с помощью CSS).

Чтобы выровнять наш div, мы выполним 3 простых шага :

  • 1. Сначала мы добавляем класс «d-flex» к нашему «div-wrapper» . Делая это, мы включаем гибкое поведение и создаем контейнер flexbox (наш класс «div-wrapper»), а также преобразуем его прямые дочерние элементы в гибкие элементы, как описано в документации Bootstrap здесь.
  • 2. Затем мы добавляем класс «justify-content-center» к нашему «div-wrapper», чтобы выровнять по горизонтали, по центру, его дочерний div (с классом «div-to-align»), тот что мы хотим выровнять.Документация здесь.
  • 3. Наконец, самая важная часть — вертикальное выравнивание. Мы делаем это, добавляя класс «align-items-center» к нашему «div-wrapper», чтобы выровнять его дочерний div по вертикали по центру. Документация здесь.

Это все для этого примера. Вы можете увидеть LIVE PREVIEW здесь .

Пример 2: Выровнять «форму» по центру страницы, полноэкранный режим

Во втором примере мы узнаем, как выровнять форму, чтобы она всегда оставалась в центре страницы, независимо от устройства или размера экрана.

Это конечный результат :

Для достижения этого результата нам нужны все родительских элементов нашей формы , теги «div-s», «body» и «html», чтобы имели высоту 100% .

Они должны занимать все вертикальное пространство страницы, чтобы форму можно было разместить в центре этого пространства.

Мы установили для этих элементов высоту 100% с Bootstrap class «h-100» .

Мы добавляем этот класс в тег «html» :


 

И к тегу «body» :


 

Теперь давайте посмотрим на HTML-код формы и объясним его:

Bootstrap 4: выровнять по центру

Учебное пособие о том, как выровнять «форму» по вертикали и горизонтали в Bootstrap 4.

& копировать; Учебник Bootstrap 4 «Выровнять по центру» от AZMIND .

Как видите, мы также добавляем класс «h-100» к первым двум родительским элементам div формы, «контейнер» и «строка» .

Здесь следует отметить одну важную вещь: мы не использовали класс «d-flex» , который мы использовали в первом примере.

Это связано с тем, что «строк» ​​уже являются контейнерами flexbox в Bootstrap 4 .

Наконец, мы выравниваем форму по горизонтали и вертикали с теми же классами из предыдущего примера: «justify-content-center» и «align-items-center» .

Что касается кода CSS, я не показываю его здесь, потому что я использовал его только для стилизации формы, а не для ее выравнивания. Вы можете найти его в файле «style.css» (папка «assets / css /»).

И мы закончили! LIVE PREVIEW здесь .

Пример 3. Выровняйте «форму» по центру страницы, полноэкранный режим, фон изображения

Последний пример такой же, как и предыдущий, я только что добавил полноэкранный фон изображения с некоторым кодом JavaScript (который вы можете увидеть при загрузке шаблона) и стилизовал форму по-другому.

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

Мне просто показалось, что он выглядит лучше и более завершенным, (почти) готовым для включения в настоящий проект. Вот почему я добавил его, назовем это «бонусным» примером.

Вот финальный результат :

А вот и LIVE PREVIEW .

Demo, загрузка и лицензия

ПОСМОТРЕТЬ DEMO (все 3 примера)

СКАЧАТЬ: Bootstrap 4 Align Center (1632 загрузок)

ЛИЦЕНЗИЯ:

Вы можете использовать эти шаблоны в личных и коммерческих проектах, но не можете продавать или распространять их напрямую «как есть».Если вы планируете использовать их, мы будем очень признательны за ссылку на эту страницу или любую форму распространения информации.

Заключение

Bootstrap предлагает несколько удобных и интуитивно понятных утилит flexbox для управления макетами наших страниц, как мы видели в этом руководстве.

Мы использовали всего 3 или 4 класса, чтобы быстро и легко выровнять наши элементы. Это означает значительную экономию времени в повседневной работе по разработке.

Что вы думаете об этом руководстве? У вас есть вопросы или предложения? Позвольте мне знать в комментариях ниже.

Оставайтесь в курсе

Подпишитесь на информационный бюллетень Azmind, и я сообщу вам, как только выпущу новую тему WordPress, шаблон Bootstrap, учебное пособие или другую бесплатную услугу:

Подписаться

Чтобы узнать, как мы используем ваши данные, когда вы подписываетесь на нашу рассылку, прочтите нашу Политику конфиденциальности здесь.

Вертикальное центрирование в Bootstrap 4

Вертикальное центрирование элементов в CSS или Bootstrap всегда было сложной задачей, особенно для разработчиков, которые не являются дизайнерами CSS.

В этой статье мы увидим различные способы, которые мы можем использовать для центрирования элемента по вертикали в Bootstrap 4.

Bootstrap 4 имеет много новых функций, которые упрощают использование различных методов, чем раньше.

Для вертикального выравнивания элементов Bootstrap 4 предоставляет различные методы, такие как:

Если вы хотите центрировать элемент по вертикали, вы можете подумать об использовании утилит Vertical Align, предоставляемых Bootstrap, которые будут работать только со встроенными элементами, но что если вы хотите вертикально центрировать элемент внутри его родительского контейнера?

Предположим, у нас есть два элемента

, стилизованных под Bootstrap .row и .col-md-12 , и вы хотите центрировать столбец внутри строки по вертикали.

  <тело>
Он должен быть отцентрирован по вертикали.

Вертикальное центрирование элементов с автоматическими полями

Вы можете центрировать элемент #col внутри его родительского элемента, используя автоматические поля, но сначала вам нужно сделать родительский элемент на всю высоту.

Добавьте .h-100 в разделение строк, которое заставит его взять всю доступную высоту в своем родительском элементе. Затем вы можете центрировать элемент с помощью служебного класса .my-auto :

  
Он должен быть отцентрирован по вертикали.

Использование my-auto служебный класс используется для установки автоматических полей по оси Y, my обозначает поле , по оси Y :

  margin-top: auto;
нижняя граница: авто;
  

Вертикальное центрирование элементов с помощью Flexbox

Bootstrap 4 использует Flexbox.

Оставить комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *