В каскадных таблицах стилей CSS-сетка или CSS-сетка создает сложные адаптивные сеточные макеты веб-дизайна более легко и согласованно в разных браузерах. [6] Исторически существовали и другие методы управления методами макета веб-страниц, такие как таблицы , плавающие элементы и, совсем недавно, CSS Flexible Box Layout (flexbox). CSS-сетка в настоящее время не является официальным стандартом (это рекомендация W3C Candidate ), хотя она была принята в последних версиях всех основных браузеров. [7]
CSS grid может создавать более надежные и гибкие макеты, чем предыдущие варианты, такие как CSS floats . Он также позволяет использовать более стандартизированный код, работающий во всех браузерах. Это контрастирует с использованием определенных браузерных хаков или сложных обходных путей. [2]
Одна из проблем с использованием float в CSS заключается в том, что если контент добавляется в одну часть страницы, он может нарушить поток страницы и сломать макет. Это связано с различной высотой элементов макета. [2] Хотя flexbox поддерживает гибкие макеты и обеспечивает гибкость создания сложных макетов, он терпит неудачу, когда возникает необходимость создания адаптивных макетов в двухмерном пространстве.
Первый всеобъемлющий проект макета сетки для CSS был создан Филом Каппом в Microsoft в 2011 году и реализован в Internet Explorer 10 с -ms-
вендорным префиксом . Синтаксис был реструктурирован и дополнительно улучшен в ходе нескольких итераций в рабочей группе CSS , возглавляемой в первую очередь Эликой Этемад и Табом Аткинсом-младшим. Функция была широко принята веб-разработчиками после евангелизации, возглавляемой в первую очередь Рэйчел Эндрю и Джен Симмонс . [8]
По состоянию на октябрь 2017 года Chrome, Firefox, Safari и Edge поддерживают CSS-сетку без вендорных префиксов. [9] [10] [11] IE 10 и 11 поддерживают CSS-сетку, но с устаревшей спецификацией. На мобильных устройствах все современные браузеры поддерживают CSS-сетку, за исключением Opera Mini . [12] Веб-разработчики, ориентированные на старые браузеры, могут использовать Modernizr 3.5.0 для обнаружения и изящного ухудшения веб-страницы по мере необходимости. [13]
Tailwind CSS включает CSS-сетку в свои утилиты для управления размером и размещением элементов. [14] Однако многие другие современные веб-фреймворки не включают CSS-сетку, например Bootstrap 4 и Foundation 6. [15]
Единица измерения «fr» часто используется в сеточной компоновке CSS. [16] [17] [18] Единица измерения «fr», часть спецификации сеточной компоновки CSS, представляет собой часть оставшегося пространства в контейнере сетки. [2]
Ниже приведен пример макета «Святого Грааля» :
Ниже приведен пример таблицы значений: