1. Home
  2. /
  3. Уроки css
  4. /
  5. Выравнивание блоков div по...

Выравнивание блоков div по центру

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

Для начала вспомним о margin- свойстве для установки ширины полей сразу для всех сторон элемента.

Число значений Описание записи
1 Отступы будут установлены одновременно от каждого края элемента.
2 Первое значение устанавливает отступ от верхнего и нижнего края, второе — от левого и правого.
3 Первое значение задает отступ от верхнего края, второе — одновременно от левого и правого края, а третье — от нижнего края.
4 Поочередно устанавливается отступ от верхнего, правого, нижнего и левого края.

Способ 1. С auto

margin:0 auto;

Очень эффективный метод, который к тому-же позволяет выровнять отступы сверху и снизу. Всё просто, как угол дома. Имеется блок с определённой шириной (в пикселях, либо процентах), которому с помощью свойства «auto» задаём одинаковый отступ справа и слева, в итоге получаем div-блок по центру.

margin:10px auto;

Для выравнивания сверху и снизу:

margin:10px auto 5px;

Способ 2. С %%

Имеем блок шириной 60%, чтобы выровнять его по центру, нам нужно боковые отступы сделать по 20% справа и слева соответственно. Смотрим код:

#bl2 {
  margin:0 20% 0 20%;
  width:60%;
}

Не парясь особо, получаем блок по центру, выровненный школьной математикой (60 + 20 + 20)- угадали сколько будет?

Способ 3. С позиционированием (ишак 7 нас тут может подвести, ибо отрицательных значений не ест)

#bl3{
  left: 50%;
  margin-left: -500px;
  position: absolute;
  width: 1000px;
}

Способ 4. Использование дополнительного блока (подсмотрен где-то на просторах инета)

Ни один метод не решает проблему с float внутри блока, если ширина блока заведомо не известна (например, меню).

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

#dop-block{
    position: relative;
    float: right;
    right: 50%;
}
#block{
    position: relative;
    float: left;
    left: 50%;
}

предыдущий
следующий


  1. Home
  2. /
  3. Уроки css
  4. /
  5. Выравнивание блоков div по...

Архивы

Рубрики

Друзья сайта

Метки

Яндекс.Метрика