Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions 20-css-for-js/6-css-center/article.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,9 @@
</div>
```

### margin: auto
### margin: 0 auto

Блок по горизонтали центрируется `margin: auto`:
Блок по горизонтали центрируется `margin: 0 auto`:

```html autorun height=50
<style>
Expand All @@ -50,7 +50,7 @@
.inner {
width: 100px;
border: 1px solid red;
*!*margin: auto;*/!*
*!*margin: 0 auto;*/!*
}
</style>

Expand All @@ -69,7 +69,7 @@

Есть три основных решения.

### position:absolute + margin
### position: absolute + margin

Центрируемый элемент позиционируем абсолютно и опускаем до середины по вертикали при помощи `top:50%`:

Expand Down Expand Up @@ -170,7 +170,7 @@
`middle`, `top`, `bottom`
: Располагать содержимое посередине, вверху, внизу ячейки.

Например, ниже есть таблица со всеми 3-мя значениями:
Например, ниже есть таблица со всеми тремя значениями:

```html autorun height=130 no-beautify
<style>
Expand All @@ -194,7 +194,7 @@

Обратим внимание, что в ячейке с `vertical-align: middle` содержимое находится по центру. Таким образом, можно обернуть нужный элемент в таблицу размера `width:100%;height:100%` с одной ячейкой, у которой указать `vertical-align:middle`, и он будет отцентрирован.

Но мы рассмотрим более красивый способ, который поддерживается во всех современных браузерах, и в IE8+. В них не обязательно делать таблицу, так как доступно значение `display:table-cell`. Для элемента с таким `display` используются те же алгоритмы вычисления ширины и центрирования, что и в `TD`. И, в том числе, работает `vertical-align`:
Но мы рассмотрим более красивый способ, который поддерживается во всех современных браузерах и в IE8+. Нам не обязательно делать таблицу, так как доступно значение `display:table-cell`. Для элемента с таким `display` используются те же алгоритмы вычисления ширины и центрирования, что и в `TD`. И, в том числе, работает `vertical-align`:

Пример центрирования:

Expand Down Expand Up @@ -267,7 +267,7 @@

Если центрирование должно работать для любой высоты родителя и центрируемого элемента, то обычно используют таблицы или `display:table-cell` с `vertical-align`.

Если центрируются не-блочные элементы, например `inline` или `inline-block`, то `vertical-align` может решить задачу без всяких таблиц. Правда, понадобится вспомогательный элемент (можно через `:before`).
Если центрируются неблочные элементы, например `inline` или `inline-block`, то `vertical-align` может решить задачу без использования таблиц. Правда, понадобится вспомогательный элемент (можно через `:before`).

Пример:

Expand Down