2013-06-04 6 views
5

Я читаю спецификацию CSS2.1. Я знаю «контекст форматирования блоков», «контекст форматирования форматирования», «контекст форматирования таблицы/сетки/флекса».Сколько существует контекстов форматирования CSS?

Я хочу знать, сколько видов «форматирования контекста» есть? Есть ли полный список?

ответ

2

В общем, «контекст форматирования» - это просто область, в которой потоки-потомки определенного типа (например, блок, встроенный, гибкий элемент) выложены (или отформатированы) в обычном потоке.

В CSS2.1 существует только два вида форматирования: block и inline. Оба они описаны как соответствующие в section 9.4. Нет такой вещи, как контекст форматирования таблицы, по крайней мере, не такой, как определено в CSS2.1; вместо этого он просто говорит, что a table box establishes a block formatting context, однако его содержание выложено в табличном виде.

Другие типы контекста форматирования определены в их соответствующих модулях CSS3, поэтому может не быть исчерпывающего списка. Тем не менее, некоторые примеры включают:

  • Flexbox: гибкие контейнеры устанавливают контексты форматирования гибкого текста.
  • Grid Layout: контейнеры сетки устанавливают контексты форматирования сетки.
+0

ОП опубликовал следующий вопрос, на который я ответил на http://stackoverflow.com/questions/16936297/when-does-a-box-establish-a-inline-formatting-context Если у вас есть время, вы могли бы просмотреть и прокомментировать. Спасибо. –

+0

Контекст таблицы был впервые представлен в разделе [errata] (http://www.w3.org/Style/css2-updates/REC-CSS2-20110607-errata.html#s.9.4) CSS2.1 (в августе 2012), а затем включены в [проект CSS2.2] (https://drafts.csswg.org/css/visuren.html#normal-flow). –

+0

@ Илья Стрельцин: Спасибо, приятно знать. – BoltClock

Смежные вопросы