Флексбоксы прощаются с экспериментальным статусом

Как стало известно из секретных¹ источников, близких к W3C, экспериментальный статус наших любимых флексбоксов почти наверняка останется в уходящем году. На прошлой неделе во время тайного совещания² члены Рабочей группы CSS приняли решение в ближайшее время перевести флексбоксы в статус кандидата в рекомендации. Т.е. в переводе с тайного языка W3C на обычный человеческий — объявить, что спецификация полностью готова, и браузеры могут смело ее реализовывать, а мы — использовать.

И в самом деле, сколько уже можно ждать. По W3Cшной традиции, для статуса кандидата в рекомендации нужно как миниум 2 совместимых реализации. А флексбоксы на сегодняшний день поддерживают больше 95% браузеров! В т.ч. больше 80% — без префикса. Для постсоветских стран CanIUse показывает цифры чуть поменьше, но их можно смело увеличивать в уме — там не учитываются Яндекс-браузер и другие «хромята», доля которых в нашей статистике вполне существенна. Если их приплюсовать, цифры будут недалеки от мировых.

А для самых ископаемых динозавров, которые еще порой приходится поддерживать (хотя, глядя на ту же статистику, даже странно — зачем?), как раз в этом месяце появился первый полифилл для актуальной спецификации. Наконец можно забыть старую путаницу с разными синтаксисами и необходимость резервных подпорок как страшный сон!

Радость от новости омрачает лишь одна мелочь: браузеры так и не смогли договориться, от чего отсчитывать отступы в процентах у флекс-элементов — от ширины или от высоты — и авторам спецификации не осталось ничего другого, кроме как… утвердить оба поведения как допустимые! Буквально. Можно так, а можно сяк — полная вседозволенность для браузеров. По этому поводу оставили такое замечание (опять же — перевод почти дословный!):

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

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

Так что оставьте в старом году все страхи, будто «флексбоксы еще не готовы», и готовьтесь встречать новый год с новым механизмом раскладки! А в новом году нас ждет еще и не такое!

¹,² На самом деле, конечно, вся информация взята из открытых источников, но мир CSS от этого не становится менее загадочным и увлекательным! :)

P.S. Это тоже может быть интересно:

    None Found

7 Комментарии

  1. delphinpro

    Ура, товарищи!!!

  2. Игорь Лесневский

    Что-то полифил у меня не взлетел…
    Chrome — https://monosnap.com/file/NkIKDRQ4sdNRd430trB9EnGhFEEc29
    IE9 — https://monosnap.com/file/xGoBCUWcOjuJ96TYlCExkepiR9gxA0
    У меня одного такое?

    1. SelenIT (Автор записи)

      А нет случайно живого примера проблемного кода? -js-display указан?

      1. Игорь Лесневский

        скачал с официального репозитория примеры, закинул к себе на хост. сейчас уже удалил, но вы можете сделать то же самое, я думаю. если Вы автор плагина — могу снова на хост к себе закинуть для проверки.

        1. SelenIT (Автор записи)

          Наскоро проверил в IE8, действительно, с растяжкой элементов там что-то странное. Я не автор полифила, но полифил опенсорсный, находить и исправлять баги в нем могут все.

  3. Maria

    Отличная новость. Чем больше сайтов начнёт их использовать, тем больше иньересных решений лэяутов появится.

  4. SelenIT (Автор записи)

    Официальный запрос на перевод в новый статус отправлен! Может, до конца года даже успеют выполнить:)

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Получать новые комментарии по электронной почте. Вы можете подписаться без комментирования.