Эта статья или раздел могут быть написаны в стиле, слишком абстрактном для понимания широкой публикой . ( Октябрь 2017 г. ) |
Модуль макета сетки CSS, уровень 1 | |
Родное имя | Модуль макета сетки CSS, уровень 1 |
---|---|
Положение дел | Проект рекомендации кандидата W3C |
Впервые опубликовано | 7 апреля 2007 г. [1] |
Последняя версия | Уровень 1 18 декабря 2020 г. [2] |
Предварительная версия | Уровень 2 11 марта 2021 г. [3] |
Организация | W3C |
Комитет | Рабочая группа CSS |
Редакторы | [3] |
Базовые стандарты | CSS |
Домен | CSS |
Сокращенное название | Сетка, макет сетки |
Веб-сайт | www |
Каскадные таблицы стилей |
---|
Концепции |
Философии |
Инструменты |
Сравнения |
В каскадных таблицах стилей , CSS макет сетки или CSS сетка создает сложные отзывчивый веб - дизайн макеты более легко и последовательно во всех браузерах. [6] Существовали и другие методы управления методами макета веб-страницы, такие как таблицы , блочная модель и гибкая коробка CSS . CSS-сетка в настоящее время не является официальным стандартом (это рекомендация W3C Candidate ), хотя она была принята большинством основных браузеров. [2]
Сетка CSS может создавать более асимметричные макеты, чем предыдущие варианты сетки и макета, такие как плавающие элементы CSS . Это также позволяет использовать более стандартизованный код, который работает во всех браузерах. Это контрастирует с расчетом на определенные взломы браузера или сложные обходные пути. [2]
Одна из проблем, связанных с использованием float в CSS, заключается в том, что если контент будет добавлен в одну часть страницы, это может нарушить поток страницы и нарушить макет. Это связано с разной высотой элементов макета. [2] Хотя CSS flex box поддерживает гибкие макеты и обеспечивает гибкость создания сложных макетов, он терпит неудачу, когда возникает необходимость в создании адаптивных макетов в двухмерном пространстве.
По состоянию на октябрь 2017 года Chrome, Firefox, Safari и Edge поддерживают сетку CSS без префиксов поставщиков. [7] [8] [9] IE 10 и 11 поддерживают сетку CSS, но с устаревшей спецификацией. На мобильных устройствах все современные браузеры поддерживают сетку CSS, кроме Opera Mini и Brave Browser. Веб-разработчики, ориентированные на старые браузеры, могут использовать Modernizr 3.5.0 для обнаружения и корректного изменения веб-страницы по мере необходимости. [10]
Tailwind CSS включает сетку CSS в свои утилиты для управления размером и размещением элементов. [11] Однако многие другие современные веб-фреймворки не включают CSS-сетку, например Bootstrap 4 и Foundation 6. [12]
Единица "fr" часто используется в макете сетки CSS. [13] [14] [15] Единица "fr", часть спецификации макета сетки CSS, представляет собой часть оставшегося пространства в контейнере сетки. [2]
Ниже приведен пример макета «Святой Грааль» :
HTML | Выход |
---|---|
< html > < style > div { border : 1 пиксель сплошной ; } тело { дисплей : сетка ; Сетка-шаблон-столбцы : 10 эм авто 10 эм ; grid-template-зонах : "header header header" "слева в середине справа" "footer footer footer" ; } </ style > < body > < div style = "grid-area: header" >Заголовок </ div > < div style = "grid-area: footer" > Нижний колонтитул </ div > < div style = "grid-area: left" > Левая панель </ div > < div style = "grid- area: middle; height: 200px " > Область основного содержимого </ div > < div style = " grid-area: right " > Правая панель </ div > </ body ></ html > |
Ниже приводится пример таблицы значений:
HTML | Выход |
---|---|
< html > < стиль > . обертка { дисплей : сетка ; сетка-шаблон-столбцы : 1 фр 1 фр 1 фр ; Сетка-зазор : 0,5 эм ; } div { граница : сплошная 1 пиксель ; } </ style > < body > < div class = "wrapper" > < h3 > Header1 </ h3 > < h3 > Header2 </ h3 > < h3 > Header3 </ h3 > < div > value11 </ div > < div > value12 </ div > < div > value13 </ div > < div > value21 </ div > < div > значение22 </ div > < div > значение23 </ div > < div> value31 </ div > < div > value32 </ div > < div > value33 </ div > < div > value41 </ div > < div > value42 </ div > < div > value43 </ div > < div > value51 </ div > < div > значение52 </ div > < div >значение53 </ div> < div > value61 </ div > < div > value62 </ div > < div > value63 </ div > < div > value71 </ div > < div > value72 </ div > < div > value73 </ div > < / div > </ body > </ html > |