CSS columns — синтаксис и примеры
CSS-свойство columns: назначение, рабочее значение, влияние на раскладку или отрисовку, ошибки и поддержка браузерами.
Когда применять
В материале о «columns» основное внимание уделено области «визуальное поведение элемента». Свойство columns относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте. Проверяйте поведение «columns» в интерфейсе, которым управляют только клавиатурой, причём оставляйте DOM-порядок логичным для чтения.
Проверяя «columns», соблюдайте правило: проверяйте columns вместе с родительским контекстом и соседними правилами. Для «columns» изменяйте одно условие за запуск и фиксируйте фактический результат.
Синтаксис columns
Пример «columns» оставляет только контекст, необходимый для области «визуальное поведение элемента». Измените одно значение и проследите результат в браузере.
.demo {
columns: inherit;
}Как работает columns
Браузер обрабатывает «columns» в контексте области «визуальное поведение элемента»: свойство columns относится к области «визуальное поведение элемента» и участвует в каскаде, получает вычисленное значение и применяется в подходящем контексте. Для «columns» наблюдения через отображение в режиме печати и изменение DOM в панели Elements отделяют исходное условие от результата.
Проверка в проекте
- Проверьте вычисленное значение columns, наследование и контекст родителя; результат относится непосредственно к «columns».
- Проверить печать и убедиться, что важное содержимое не исчезает при разборе «columns».
- Проверьте «columns» в интерфейсе, которым управляют только клавиатурой через отображение в режиме печати и запишите наблюдаемое изменение.
Используйте «columns», когда требуется уточнять один из этапов расчёта или отрисовки CSS-бокса; подтвердите выбор предметной проверкой: проверьте вычисленное значение columns, наследование и контекст родителя. Для «columns» более простой вариант предпочтителен, если он сохраняет тот же смысл и поведение.
Практика с columns
Создайте два варианта «columns» в минимальном компоненте: корректный и с одной типичной ошибкой. Сравните варианты «columns» через отображение в режиме печати и объясните различие.
Сценарий: в интерфейсе, которым управляют только клавиатурой.
Ошибки при работе с columns
Контекст
Изолированная декларация columns без связанных ограничений может дать другой результат в реальном компоненте — это предметный риск для «columns».
Устойчивость
Использование физической стороны там, где нужен логический отступ при использовании «columns».
Доступность
Копирование свойства без необходимого родительского контекста; для «columns» проверьте это отдельно.
Поддержка columns
Для «columns» таблица собрана из закреплённой версии MDN Browser Compatibility Data. Указанная версия браузера показывает первое заявленное появление базовой поддержки «columns»; окончательное решение принимайте по аудитории конкретного проекта.
Спецификация: источник 1.
Вопросы о columns
Как понять, что «columns» выбрано правильно?
«columns» выбрано правильно, когда оно решает задачу «уточнять один из этапов расчёта или отрисовки CSS-бокса», сохраняет результат в интерфейсе, которым управляют только клавиатурой и проходит предметную проверку: проверьте вычисленное значение columns, наследование и контекст родителя.
Нужен ли запасной вариант для «columns»?
Запасной вариант для «columns» нужен, если целевой браузер или режим не обеспечивает выбранное поведение. Без улучшения «columns» должно сохранять смысл, содержимое и основное действие.
Спецификации и источники
Синтаксис и статус проверяются по HTML Living Standard, спецификациям CSS и MDN Browser Compatibility Data. Примеры и объяснения подготовлены для этого сервиса.