JavaRush /Курсы /Модуль 1: Web Core /Центрирование элементов

Центрирование элементов

Модуль 1: Web Core
11 уровень , 8 лекция
Открыта

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

Центрирование элементов на веб-странице является одной из основных задач веб-дизайна. Оно позволяет создать эстетически приятные и легко читаемые макеты. Ниже мы рассмотрим различные методы горизонтального и вертикального центрирования элементов, используя современные техники CSS.

1. Центрирование блочных элементов с помощью margin: auto

Одним из самых простых способов центрирования блочных элементов является использование margin: auto.

Пример:

CSS
    
      .centered-box {
        width: 200px;
        height: 100px;
        background-color: #3498db;
        margin: 0 auto;
      }
    
  
HTML
    
      <div class="centered-box"></div>
    
  

Объяснение кода:

  • margin: 0 auto;: устанавливает автоматические отступы слева и справа, центрируя элемент по горизонтали

2. Центрирование строчных элементов с помощью text-align

Для центрирования строчных или встроенных элементов внутри блочного элемента можно использовать свойство text-align: center.

Пример:

CSS
    
      .container {
        text-align: center;
        background-color: #f1c40f;
        padding: 20px;
      }

      .inline-element {
        background-color: #e74c3c;
        display: inline-block;
        padding: 10px;
        color: white;
      }
    
  
HTML
    
      <div class="container">
        <div class="inline-element">Строчный элемент</div>
      </div>
    
  

Объяснение кода:

  • text-align: center;: центрирует встроенные (строчные) элементы внутри блочного контейнера

3. Центрирование элементов с помощью Flexbox

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

Пример:

CSS
    
      .flex-container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        background-color: #2ecc71;
      }

      .centered-box {
        width: 200px;
        height: 100px;
        background-color: #3498db;
      }
    
  
HTML
    
      <div class="flex-container">
        <div class="centered-box"></div>
      </div>
    
  

Объяснение кода:

  • display: flex;: устанавливает контейнер как Flexbox
  • justify-content: center;: центрирует элементы по горизонтали
  • align-items: center;: центрирует элементы по вертикали (будет рассмотрено подробнее далее)

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

1. Центрирование с помощью Flexbox

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

Пример:

CSS
    
      .flex-container {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 100vh;
        background-color: #2ecc71;
      }

      .centered-box {
        width: 200px;
        height: 100px;
        background-color: #3498db;
      }
    
  
HTML
    
      <div class="flex-container">
        <div class="centered-box"></div>
      </div>
    
  

Объяснение кода:

  • align-items: center;: центрирует элементы по вертикали

2. Центрирование с помощью CSS Grid

CSS Grid предоставляет мощные возможности для центрирования элементов:

CSS
    
      .grid-container {
        display: grid;
        place-items: center;
        height: 100vh;
        background-color: #9b59b6;
      }

      .centered-box {
        width: 200px;
        height: 100px;
        background-color: #3498db;
      }
    
  
HTML
    
      <div class="grid-container">
        <div class="centered-box"></div>
      </div>
    
  

Объяснение кода:

  • display: grid;: устанавливает контейнер как CSS Grid
  • place-items: center;: центрирует элементы по горизонтали и вертикали

3. Вертикальное центрирование с помощью абсолютного позиционирования и CSS трансформации

Использование абсолютного позиционирования и CSS трансформации позволяет центрировать элементы по вертикали.

Пример:

CSS
    
      .container {
        position: relative;
        height: 100vh;
        background-color: #e74c3c;
      }

      .centered-box {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 200px;
        height: 100px;
        background-color: #3498db;
      }
    
  
HTML
    
      <div class="container">
        <div class="centered-box"></div>
      </div>
    
  

Объяснение кода:

  • position: absolute;: устанавливает элемент в абсолютное позиционирование относительно контейнера
  • top: 50%;, left: 50%;: смещает элемент на 50% от верхнего и левого края контейнера
  • transform: translate(-50%, -50%);: смещает элемент на 50% его ширины и высоты для центрирования

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

Использование таблицы и ячеек для центрирования элементов по вертикали.

Пример:

CSS
    
      .table-container {
        display: table;
        width: 100%;
        height: 100vh;
        background-color: #f39c12;
      }

      .table-cell {
        display: table-cell;
        vertical-align: middle;
        text-align: center;
      }

      .centered-box {
        display: inline-block;
        background-color: #3498db;
        padding: 20px;
        color: white;
      }
    
  
HTML
    
      <div class="table-container">
      <div class="table-cell">
        <div class="centered-box">Центрированный элемент</div>
      </div>
    </div>
    
  

Объяснение кода:

  • .table-container: создает контейнер с дисплеем table
  • .table-cell: создает ячейку таблицы с вертикальным выравниванием middle
1
Задача
Модуль 1: Web Core, 11 уровень, 8 лекция
Недоступна
Горизонтальное центрирование
Горизонтальное центрирование
1
Задача
Модуль 1: Web Core, 11 уровень, 8 лекция
Недоступна
Центрирование элементов
Центрирование элементов
Комментарии (4)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Gans Electro Уровень 42
2 октября 2025
Честно ИИ-шная теория немного утомляет. ИИ снова и снова повторяет то что уже было сказано. Скажем 1 раз в описаний, 1 раз в минусах и 1 в плюсах. Каждая лекция содержит: "то-то является одной из основных задач веб-дизайна", "мощный такой-то инструмент", "простой такой то инструмент", "есть такой-то минус", "есть такой-то плюс", "встречаются положительные стороны", "такой-то недостаток", "имеется изъян", "мощное преимущество", "заметный недостаток", "положительная сторона", "обратная сторона", "сильная черта", "слабое место", "выгодная особенность", "ограничение метода", "ценное качество", "проблемный аспект", "преимущество подхода", "недостаток подхода", "ключевая сила", "уязвимое место" и т.д. не особо нужные и повторяющиеся обороты.

Flexbox предоставляет гибкий и простой способ центрирования элементов как по горизонтали, так и по вертикали.
Flexbox предоставляет простой способ вертикального центрирования элементов.
CSS Grid предоставляет мощные возможности для центрирования элементов:
Вертикальное центрирование с помощью абсолютного позиционирования и CSS трансформации
Использование абсолютного позиционирования и CSS трансформации позволяет центрировать элементы по вертикали.
Было бы хорошо придай тексту более человечный вид.
No Name Уровень 36
24 мая 2025
повторение - мать учение
Евгений Уровень 58
4 октября 2024
Второе задание не работает, как надо. Даже при выборе правильного решения, не проходит проверку!
wh1telis Уровень 48
3 февраля 2025
все работает