Когда? Когда уже наконец-то можно начать использовать flexbox на 100%?
Добрый день, Уважаемые разработчики.
Уже который раз всё хочу начать использовать flexbox, но до сих пор не решаюсь. Первый раз хотел еще где-то год назад, но подумал, что подожду пол года и всё кардинально изменится, т.к. веб-разработка развивается очень быстро, но ошибся - ничего не поменялось.
Сейчас начали уже активно внедрять css grid layout, а я до сих пор даже не использовал flexbox, из-за чего чувствую себя каким-то динозавром. Неужели я один такой??? Может, конечно, из-за того, что у нас крупные проекты и придирчивые заказчики, которые не позволяют допускать малейшие косяки в ie10 - ie11. Да ладно, черт с ним с этим ie10 (хотя поддержка его нужна еще обязательно), но просматривая проекты использующих flexbox в ie11 тоже вижу кучу косяков, даже на крупных сайтах, вроде css-tricks и др.: то контент не влазит в контейнеры, то что-то схлопывается, то улетает в другую строну и т.д.
Неужели заказчики и разработчики могут позволять себе такие оплошности, либо я что-то упустил?
Хотелось бы услышать мнения тех, кто осознанно использует flexbox в своих проектах (просьба, не в обиду только, не писать новичкам, которым по барабану на кроссбраузерность, и которые используют flexbox в мелких лендингах, вроде "Продажа Iphone в Мухосранске"). Как Вы решаете проблемы с кроссбраузерностью? Или просто закрываете глаза на косяки?
Не поймите меня не правильно, я ни в коем случае не критикую flexbox или кого-то, т.к. в любой момент бы с огромнейшей радостью начал уже использовать flexbox и уже никак не могу дождаться такого момента, но, к сожалению, с такими косяками начинать не хочется, а если делать фолбеки для старых браузеров, то это только лишний геморрой - смысл тогда вообще использовать flexbox, если всё равно приходится писать и добавлять код по старому методу.
все зависит от направленности ресурса.
вот к примеру тостер. ты думаешь на тостере есть хотя бы 1% юзеров которые сидят на ie? (не считая таких которые заходят потестить "а нет ли косяков верстки на тостере")
вот и отталкиваешься от того на кого направлен ресурс.
p.s. что касаемо меня - я сразу обговариваю поддержку версий ie, andriod, ios и т.д. если дизайн такой что придется юзать либо flexbox либо городить большие костыли - сразу сообщаю об этом. что поддержка будет к примеру ie11+
Скажу честно: я до сих пор не использую flexbox при вёрстке.
Почему?
Устаревшие прошивки и устройства (телевизоры, телефоны, планшеты и т.д.; а их ещё много) отображают страницу с flexbox ни то что криво, а могут вообще показать белый фон.
Использую DIV-ную вёрстку (верстаю в pixel-perfect: IE9+, FF, Chrome). Хотя даже там ещё есть косяки в браузерах в виде зазоров и прочих незаметных вещей...
xmoonlight: интересно. Я столкнулся с разработкой под IE и прочий треш когда программировал платежки для SmartTV и только. Больше меня даже никто не спрашивал про ослов. А если вы постоянно для них делаете, то прям интересно кто вас так мучает.
Антон Мудренок: ни кто, просто тот минимум возможностей, с которым я работаю доступен с версии IE9 и выше. А если это доступно с этой версии - то на неё и ориентируюсь. Был доступен с IE1 - ориентировался бы на него.
когда уже перестанет попадаться этот вопрос? Только тут на тостере их уже миллион. Там есть ответы. Включите голову и поиск.
Все ответы сводятся:
Когда вот тут цифры Вас будут устраивать (но каждого устраивают разные цифры).
Спасибо за ответ, но на can i use я хожу в первую очередь, когда утверждаю проект и выбираю технологию для реализации. Просто проходите мимо и не психуйте.
Мне просто интересно мнение разработчиков более менее серьезных проектов, используют ли они flexbox в своих проектах и как борются с кроссбраузерностью. А то динозавром себя этой области чувствовать не очень хочется.
MaxKorz: на одной из конференций vk отвечали, что не используют flex из-за того, что больше миллиона человек ещё на ie 8-9. И они не могут позволить себе этого
Спасибо за ответ, но на can i use я хожу в первую очередь
тогда в чем вопрос? Кто-то считает, что 81% - это гуд, а с префиксами и того больше, я лично не использую. На вкус и цвет все фломастеры разные. И я повторюсь, но 1 раз в неделю тут поднимают этот вопрос и говорят ни о чем, я Вам подвел итог этих многочисленных срачей. Что еще Вы ждете? Даты когда будет 100%? Так кто ж ее знает?
caniuse.com/#search=flex с префиксами поддержка 97.68%. Вы думаете этого не достаточно, чтобы полностью его использовать? Если нужна поддержка IE < 10, то используйте polyfill. Но по мне дак, проверять нужно пользователя на поддержку flex и если её нет, ставить заглушку, чтобы браузер поменял. ~2.5% это очень мало.
Вы же например используете Border-radius, а он поддерживается только 95.04%
Спасибо за ответ.
Border-radius, как и разные transition и др. это не столь критичные свойства, если они не сработают, а вот если разваливается макет, то это совсем другое дело.
Из более нормально работающих полифилов нашел только этот, но он иногда такую жесть делает, что страшно им пользоваться.
Может Вы какой-нибудь хороший полифил посоветуете, который я упустил? Буду очень благодарен.
Сетки, сетки, сетки...
Я работал недавно над одним проектом в команде. Проект оказался необычным в плане дизайна и было требование делать верстку pixel perfect. От сеток отказались сразу, т.к. они не позволяли делать подобное без хардкора. В итоге, приняв соглашение по разработке и разбив проект на модули, приступили к разработке.
И, о люди!!! Те верстальщики, которые били себя пяткой в грудь до того отрофировали свой мозг, что без сеток не могли элементарно поменять блоки местами.
Также не каждый разработчик кастомизирует сетку под себя, например, если они использует только расположение, то все остальные "фишки" просто тянутся длинной портянкой без надобности. Предполагаю, что в данной сетке всякие фолбеки для старых браузеров при их неиспользовании всё равно будут тянуться (если это не так, то дико извиняюсь, но в большинстве сеток именно так). Что нравится в полном стеке БЭМ (именно в полном, а не только в именовании, т.к. для многих БЭМ это просто соглашение по именованию), так это попадание в верстку только тех блоков, которые были использованы, причем это делается автоматически, за этим следить не нужно - использовали блок, все зависимости подключились, удалили название блока, то и все зависимости отключились. Так бы и со стилями от сеток. Ведь это легко делается. Я например в своих сетках использовал примеси, и они попадали в сборку только после использования.
Раньше я тоже активно пользовался сетками, потом писал чисто под себя, чтобы ничего лишнего не было, а потом наткнулся на вот такую статью и вообще отказался от всего этого дела. И как Вы думаете? Скорость разработки ни чуть не упала, даже наоборот. Зато когда попадаются сложные вещи (а их становится все больше и больше, т.к. каждый хочет выделиться), мне не нужно сидеть и думать, как кастомизировать используемую сетку или сделать костыль - я просто с минимальным количеством кода и времени решаю эту задачу.
Ничего не имею против сеток, но тем не менее, по крайней мере в таком деле, как просто расположение, считаю это лишним.
Но за ответ большое спасибо :)
Из крупных проектов:
Google, Instagram, YouTube, Yandex
Пользоваться или нет, надо решать из конкретной задачи. Поддержка браузерами близится к 100 процентам. Тут и добавить больше нечего.