CSS-свойствоВ стандарте

CSS columns — синтаксис и примеры

CSS-свойство columns: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.

Когда применять

В материале о «columns» основное внимание уделено области «визуальное поведение элемента». Свойство columns относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте. Проверяйте поведение «columns» в интерфейсе, которым управляют только клавиатурой, причём оставляйте DOM-порядок логичным для чтения.

Практическое правило для columns

Проверяя «columns», соблюдайте правило: проверяйте columns вместе с родительским контекстом и соседними правилами. Для «columns» изменяйте одно условие за запуск и фиксируйте фактический результат.

Синтаксис columns

Пример «columns» оставляет только контекст, необходимый для области «визуальное поведение элемента». Измените одно значение и проследите результат в браузере.

css
.demo {
  columns: inherit;
}
Открыть в Playground

Как работает columns

Браузер обрабатывает «columns» в контексте области «визуальное поведение элемента»: свойство columns относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте. Для «columns» наблюдения через отображение в режиме печати и изменение DOM в панели Elements отделяют исходное условие от результата.

Проверка в проекте

  • Проверьте вычисленное значение columns, наследование и контекст родителя; результат относится непосредственно к «columns».
  • Проверить печать и убедиться, что важное содержимое не исчезает при разборе «columns».
  • Проверьте «columns» в интерфейсе, которым управляют только клавиатурой через отображение в режиме печати и запишите наблюдаемое изменение.
Выбор конструкции

Используйте «columns», когда требуется уточнять один из этапов расчёта или отрисовки CSS-бокса; подтвердите выбор предметной проверкой: проверьте вычисленное значение columns, наследование и контекст родителя. Для «columns» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.

Практика с columns

Создайте два варианта «columns» в минимальном компоненте: корректный и с одной типичной ошибкой. Сравните варианты «columns» через отображение в режиме печати и объясните различие.

визуальное поведение элементаcolumns

Сценарий: в интерфейсе, которым управляют только клавиатурой.

Ошибки при работе с columns

01

Контекст

Изолированная декларация columns без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «columns».

02

Устойчивость

Использование физической стороны там, где нужен логический отступ при использовании «columns».

03

Доступность

Копирование свойства без необходимого родительского контекста; для «columns» проверьте это отдельно.

Поддержка columns

Для «columns» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «columns»; окончательное решение принимайте по аудитории конкретного проекта.

Chromeс версии 50Edgeс версии 12Firefoxс версии 52Safariс версии 9

Спецификация: источник 1.

Вопросы о columns

Как понять, что «columns» выбрано правильно?

«columns» выбрано правильно, когда оно решает задачу «уточнять один из этапов расчёта или отрисовки CSS-бокса», сохраняет результат в интерфейсе, которым управляют только клавиатурой и проходит предметную проверку: проверьте вычисленное значение columns, наследование и контекст родителя.

Нужен ли запасной вариант для «columns»?

Запасной вариант для «columns» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «columns» должно сохранять смысл, содержимое и основное действие.

Спецификации и источники

Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.