Учебник по CSS

ГЛАВНАЯ CSS Введение в CSS Синтаксис CSS Селекторы CSS CSS как сделать CSS-комментарии Цвета CSS CSS-фоны CSS границы CSS поля CSS-заполнение CSS высота/ширина Блочная модель CSS Схема CSS CSS-текст CSS-шрифты CSS-иконки CSS-ссылки CSS-списки CSS-таблицы Отображение CSS Максимальная ширина CSS Позиция CSS CSS Z-индекс CSS переполнение Плавающая CSS Встроенный блок CSS Выравнивание CSS Комбинаторы CSS Псевдокласс CSS CSS-псевдоэлемент Непрозрачность CSS Панель навигации CSS Выпадающие списки CSS Галерея изображений CSS Спрайты изображений CSS Селекторы атрибутов CSS CSS-формы CSS-счетчики CSS макет веб-сайта Единицы CSS Специфика CSS CSS! важно Математические функции CSS

CSS расширенный

CSS закругленные углы Изображения границ CSS CSS-фоны Цвета CSS Цветовые ключевые слова CSS CSS-градиенты CSS-тени Текстовые эффекты CSS Веб-шрифты CSS 2D-преобразования CSS CSS 3D-преобразования CSS-переходы CSS-анимации Подсказки CSS Изображения в стиле CSS Отражение изображения CSS CSS объект-подгонка CSS-позиция объекта Маскировка CSS CSS-кнопки Разбивка на страницы CSS Несколько столбцов CSS Пользовательский интерфейс CSS CSS-переменные Размер блока CSS Медиа-запросы CSS Примеры CSS MQ CSS флексбокс

CSS Отзывчивый

Введение в задний привод Окно просмотра RWD Представление сетки RWD Медиа-запросы RWD Изображения RWD Видео с задним приводом Рамки RWD Шаблоны RWD

CSS -сетка

Введение в сетку Контейнер сетки Элемент сетки

CSS SASS

Учебник по SASS

Примеры CSS

CSS-шаблоны Примеры CSS css викторина CSS-упражнения Сертификат CSS

Ссылки на CSS

Справочник по CSS Селекторы CSS CSS-функции Справочник по CSS Безопасные веб-шрифты CSS CSS анимация Единицы CSS Конвертер CSS PX-EM Цвета CSS Значения цвета CSS Значения CSS по умолчанию Поддержка CSS-браузера

CSS -макет — горизонтальное и вертикальное выравнивание


Центрировать элементы
по горизонтали и вертикали


Выровнять элементы по центру

Чтобы центрировать блочный элемент по горизонтали (например, <div>), используйте margin: auto;

Установка ширины элемента предотвратит его растяжение до краев контейнера.

Затем элемент займет указанную ширину, а оставшееся пространство будет поровну разделено между двумя полями:

Этот элемент div центрирован.

Пример

.center {
  margin: auto;
  width: 50%;
  border: 3px solid green;
  padding: 10px;
}

Примечание. Выравнивание по центру не действует, если widthсвойство не установлено (или установлено на 100%).


Выровнять текст по центру

Чтобы просто центрировать текст внутри элемента, используйте text-align: center;

Этот текст расположен по центру.

Пример

.center {
  text-align: center;
  border: 3px solid green;
}

Совет. Дополнительные примеры выравнивания текста см. в главе « Текст CSS ».



Центрировать изображение

Чтобы центрировать изображение, установите левое и правое поле autoи сделайте его blockэлементом:

Париж

Пример

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 40%;
}

Выравнивание по левому и правому краю — использование положения

Одним из способов выравнивания элементов является использование position: absolute;:

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

Пример

.right {
  position: absolute;
  right: 0px;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}

Примечание. Элементы с абсолютным позиционированием удаляются из обычного потока и могут перекрывать элементы.


Выравнивание по левому и правому краю — использование float

Другой способ выравнивания элементов — использовать floatсвойство:

Пример

.right {
  float: right;
  width: 300px;
  border: 3px solid #73AD21;
  padding: 10px;
}

Взлом Clearfix

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

Без Клирфикс

С Клирфикс

Затем мы можем добавить хак clearfix к содержащему элементу, чтобы решить эту проблему:

Пример

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

Центрировать по вертикали — использование отступов

There are many ways to center an element vertically in CSS. A simple solution is to use top and bottom padding:

I am vertically centered.

Example

.center {
  padding: 70px 0;
  border: 3px solid green;
}

To center both vertically and horizontally, use padding and text-align: center:

I am vertically and horizontally centered.

Example

.center {
  padding: 70px 0;
  border: 3px solid green;
  text-align: center;
}

Center Vertically - Using line-height

Another trick is to use the line-height property with a value that is equal to the height property:

I am vertically and horizontally centered.

Example

.center {
  line-height: 200px;
  height: 200px;
  border: 3px solid green;
  text-align: center;
}

/* If the text has multiple lines, add the following: */
.center p {
  line-height: 1.5;
  display: inline-block;
  vertical-align: middle;
}

Center Vertically - Using position & transform

If padding and line-height are not options, another solution is to use positioning and the transform property:

I am vertically and horizontally centered.

Example

.center {
  height: 200px;
  position: relative;
  border: 3px solid green;
}

.center p {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

Tip: You will learn more about the transform property in our 2D Transforms Chapter.


Center Vertically - Using Flexbox

You can also use flexbox to center things. Just note that flexbox is not supported in IE10 and earlier versions:

I am vertically and horizontally centered.

Example

.center {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 200px;
  border: 3px solid green;
}

Tip: You will learn more about Flexbox in our CSS Flexbox Chapter.


Test Yourself With Exercises

Exercise:

Use the margin property to make sure that the <div> element is center aligned according to its parent element.

<style>
.intro {
  width: 200px;
  : ;
}
</style>

<body>

<div class="intro">
Lorem ipsum dolor sit amet,
consectetur adipiscing elit.
Phasellus imperdiet, nulla et dictum interdum,
nisi lorem egestas odio,
vitae scelerisque enim ligula venenatis dolor. </div> </body>