Статьи

CSS-позиционирование: три спецификации лучше, чем одна?

Одной из областей, в которой CSS 3 представит множество новых функций, является макет страницы. Это считается хорошей вещью. Но поскольку W3C только что объявил о том, что в CSS 3 будет два отдельных модуля для верстки страниц, стандарты могут требовать от разработчиков браузеров слишком многого.

Несмотря на то, что это возможно, чтобы приспособить функции позиционирования CSS к вашей воле, я думаю, что мы все можем согласиться с тем, что CSS 2 не был разработан с учетом макетов из трех столбцов. Поплавки и отрицательные поля могут сделать работу, но они, безусловно, будут бороться.

Представленный W3C в качестве рабочего проекта в декабре 2005 года, нет никаких сомнений в том, что модуль CSS Advanced Layout намного лучше, чем у нас сейчас, но явное отсутствие интереса со стороны поставщиков браузеров к реализации этого модуля предполагает, что он может оказаться на неправильном пути. , После выхода последнего рабочего проекта в августе Алекс Рассел из SitePen подвергся резкой критике :

Я даже не уверен, стоит ли упоминать «продвинутые» макеты [модуль] из-за страха, что больше людей действительно могут посмотреть на него. Вы ожидаете, что модуль «расширенных макетов» даст нам поведение hbox и vbox, или модель макета сетки, или растяжение … но нет, «ответ», очевидно, это ascii art .

Кажется, что по крайней мере некоторые члены рабочей группы W3C CSS согласны с этим. В прошлом месяце группа выпустила первый публичный рабочий проект другого модуля CSS 3 для макета: CSS Grid Positioning .

Этот новый модуль макета основывается на существующем модуле « Многостолбцовый макет» для текстовых столбцов, последний рабочий проект которого был представлен в июне и который теперь частично поддерживается в Firefox 2 и Safari 3. Позиционирование сетки позволяет вам выравнивать элементы по «неявному» grid ‘определяется элементом из нескольких столбцов. Кроме того, вы можете определить «явную сетку», а затем выровнять элементы по ней. Это работает путем введения нового измерения длины CSS: единица сетки (например, 1.5gr

Взаимодействие между модулем Advanced Layout и модулем Grid Positioning еще предстоит определить, но ожидается, что элемент, который определяет сетку позиционирования с помощью модуля Advanced Layout, также определит неявную сетку для выравнивания элементов с функциями Grid Positioning.

Все это звучит великолепно, но сможем ли мы когда-нибудь использовать это? Даже относительно авантюрные браузеры, такие как Opera и Safari, до сих пор держались подальше от модуля Advanced Layout, и, хотя Grid Positioning действительно опирается на функции, которые получают поддержку браузера, этот новый модуль макета выглядит не легким для реализации.

В то время, когда самая большая проблема для CSS заключается в том, чтобы побудить производителей браузеров вкладывать средства в новые функции, должен ли W3C сократить объем продаж с помощью нескольких модулей CSS для того же? Или для W3C хорошо продолжать предлагать новые стандарты макетов CSS, пока браузеры не проявят интерес к одному из них?