#ссылка дня
Как много сайтов серьёзных инвестиционных компаний вы видели? Обычно считается, если видели один — видели все.
Это не тот случай.
The Yamauchi No. 10 Family Office. Компания, которая управляет инвестициями семьи Хироси Ямаути, президента Nintendo. Что такое Nintendo объяснять, наверное, не надо.
Ещё раз, это — не портфолио веб-дизайнера. Это крупная инвестиционная контора.
Япония удивляет, конечно. Большинство японских сайтов в принципе будто в нулевых остались.
#webgl #pixel #graphics
Как много сайтов серьёзных инвестиционных компаний вы видели? Обычно считается, если видели один — видели все.
Это не тот случай.
The Yamauchi No. 10 Family Office. Компания, которая управляет инвестициями семьи Хироси Ямаути, президента Nintendo. Что такое Nintendo объяснять, наверное, не надо.
Ещё раз, это — не портфолио веб-дизайнера. Это крупная инвестиционная контора.
Япония удивляет, конечно. Большинство японских сайтов в принципе будто в нулевых остались.
#webgl #pixel #graphics
#фишка дня
В CSS-чате с завидной регулярностью спрашивают, как скрыть скроллбар, но оставить возможность скроллить.
Лично мне непонятно, зачем так делать. Оставляйте хоть небольшую подсказку пользователям, на мобильных телефонах и macOS и так скроллбар скрыт (почти) всегда.
Но раз пошла такая пляска, давайте решать проблему. Без JavaScript.
1. Обёртка и избыточная ширина
Старое как мир решение. Добавляем контейнеру избыточную ширину, чтобы его скроллбар вышел за пределы обёртки. В данном случае я предпочитаю создавать избыточную ширину абсолютным позиционированием: https://codepen.io/alinaki/pen/bGgmqVx
25px — ширина скроллбара — взята наобум. Она колеблется от 17 до 23 пикселей в различных средах.
Вы уже чуете, что ерунда какая-то, правда? Но это решение ещё несколько лет назад было единственным, ведь приходилось поддерживать старые браузеры.
2. Правила для работы с полосой прокрутки
Здесь всё максимально просто: у каждого из четырёх (трёх?) современных и сравнительно современных движков имеются соответствующие правила для скрытия полосы прокрутки: https://codepen.io/alinaki/pen/YzNJGOa
Но если вы решились на такое, пожалуйста, дайте пользователю какую-нибудь подсказку, что можно скроллить. Ведь иногда ваш контент может быть поделён ровно по абзацу или строке/колонке.
В таком случае можно, например, наложить тени: https://codepen.io/alinaki/pen/oNBaWvq
#css #scroll #ux
В CSS-чате с завидной регулярностью спрашивают, как скрыть скроллбар, но оставить возможность скроллить.
Лично мне непонятно, зачем так делать. Оставляйте хоть небольшую подсказку пользователям, на мобильных телефонах и macOS и так скроллбар скрыт (почти) всегда.
Но раз пошла такая пляска, давайте решать проблему. Без JavaScript.
1. Обёртка и избыточная ширина
Старое как мир решение. Добавляем контейнеру избыточную ширину, чтобы его скроллбар вышел за пределы обёртки. В данном случае я предпочитаю создавать избыточную ширину абсолютным позиционированием: https://codepen.io/alinaki/pen/bGgmqVx
25px — ширина скроллбара — взята наобум. Она колеблется от 17 до 23 пикселей в различных средах.
Вы уже чуете, что ерунда какая-то, правда? Но это решение ещё несколько лет назад было единственным, ведь приходилось поддерживать старые браузеры.
2. Правила для работы с полосой прокрутки
Здесь всё максимально просто: у каждого из четырёх (трёх?) современных и сравнительно современных движков имеются соответствующие правила для скрытия полосы прокрутки: https://codepen.io/alinaki/pen/YzNJGOa
Но если вы решились на такое, пожалуйста, дайте пользователю какую-нибудь подсказку, что можно скроллить. Ведь иногда ваш контент может быть поделён ровно по абзацу или строке/колонке.
В таком случае можно, например, наложить тени: https://codepen.io/alinaki/pen/oNBaWvq
#css #scroll #ux
#баг дня
Правило clip-path, обрезка, стало нынче довольно популярным.
Но пользоваться им нужно всё так же осторожно. Пример от Анны Тюдор:
От чего конкретно отсчитываются 8% скругления?
Chrome и Safari (Blink и WebKit) отсчитывают их относительно изначального размера элемента.
Firefox (Gecko) – от уже обрезанного прямоугольника.
И, судя по всему, это баг в Firefox. Согласно спецификации, round в inset задаётся согласно синтаксису для border-radius, который в свою очередь устанавливает отсчёт от бокса элемента. Впрочем, прочитать можно как угодно.
И подобных мест в спецификации до сих пор неприлично много.
Пример:
https://codepen.io/alinaki/pen/qBRQRye
#css #firefox #clippath #bug
Правило clip-path, обрезка, стало нынче довольно популярным.
Но пользоваться им нужно всё так же осторожно. Пример от Анны Тюдор:
clip-path: inset(80% 0 0 round 8%)
От чего конкретно отсчитываются 8% скругления?
Chrome и Safari (Blink и WebKit) отсчитывают их относительно изначального размера элемента.
Firefox (Gecko) – от уже обрезанного прямоугольника.
И, судя по всему, это баг в Firefox. Согласно спецификации, round в inset задаётся согласно синтаксису для border-radius, который в свою очередь устанавливает отсчёт от бокса элемента. Впрочем, прочитать можно как угодно.
И подобных мест в спецификации до сих пор неприлично много.
Пример:
https://codepen.io/alinaki/pen/qBRQRye
#css #firefox #clippath #bug
#codepen дня
Мамочки мои, работающий секундомер без единой строчки JavaScript: https://codepen.io/jh3y/pen/jOVmJBL
Когда начинаешь разбирать код – всё довольно просто, анимация через
Рекомендую попастись на странице автора, это его кнопки в стиле CyberPank2077 недавно разлетелись по всем каналам.
👉 @htmlshit
#css #counter #animation #steps
Мамочки мои, работающий секундомер без единой строчки JavaScript: https://codepen.io/jh3y/pen/jOVmJBL
Когда начинаешь разбирать код – всё довольно просто, анимация через
steps
для десятых долей, секунд и минут. Но вместе — потрясающе.Рекомендую попастись на странице автора, это его кнопки в стиле CyberPank2077 недавно разлетелись по всем каналам.
👉 @htmlshit
#css #counter #animation #steps
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
Вам уже должен быть хорошо знаком input type=“number”. Кто-то наверняка даже пытался стилизовать раздражающие стрелочки.
Но мало кто знает, что это (и ещё одно, угадайте, какое) поле ввода предоставляет свои псевдоклассы:
И естественно, подъехал (вот буквально) шикарный CodePen на эту тему:
http://codepen.io/jh3y/pen/MWWowEb
👉 @htmlshit
#css #input #number #range
Вам уже должен быть хорошо знаком input type=“number”. Кто-то наверняка даже пытался стилизовать раздражающие стрелочки.
Но мало кто знает, что это (и ещё одно, угадайте, какое) поле ввода предоставляет свои псевдоклассы:
:in-range
и :out-of-range
. Уже понятно, что они делают: если вы установили атрибуты min
и max
, вышеуказанные псевдоклассы позволят воспользоваться этим знанием в CSS.input:out-of-range ~ span {
color: red;
}
И естественно, подъехал (вот буквально) шикарный CodePen на эту тему:
http://codepen.io/jh3y/pen/MWWowEb
👉 @htmlshit
#css #input #number #range
Будни разработчика
#ссылка дня Испанский стыд. Когда делает кто-то другой, а стыдно тебе. Держите немного свежевыжатого: https://www.htmhell.dev/ HTML из ада. Коллекция плохих практик вёрстки, взятая с реальных сайтов. Каждый пример имеет объяснение, почему так делать не…
Ветром принесло новость, что у этого проекта (https://www.htmhell.dev/) появился уродливый брат-близнец: https://csshell.dev/
Отдельного поста не очень пока достоин, так что спешите дополнять. To Hell with bad CSS!
Как всегда, постарайтесь не найти там себя.
Отдельного поста не очень пока достоин, так что спешите дополнять. To Hell with bad CSS!
Как всегда, постарайтесь не найти там себя.
#баг дня
Достаточно странная ситуация, но сочетание свежего правила
https://codepen.io/alinaki/pen/dyNaRgr
https://codepen.io/thebabydino/pen/rNjogOa
Safari и Firefox ведут себя корректно. Если убрать
Ссылка на трекер: https://bugs.chromium.org/p/chromium/issues/detail?id=1166875
Будьте осторожны.
#grid #aligncontent #placecontent
Достаточно странная ситуация, но сочетание свежего правила
aspect-ratio
и display: grid
ломает позиционирование элементов через align-content
или place-content
. Вот два разных примера:align-content
:https://codepen.io/alinaki/pen/dyNaRgr
place-content
:https://codepen.io/thebabydino/pen/rNjogOa
Safari и Firefox ведут себя корректно. Если убрать
padding
, то и Chrome начинает позиционировать правильно, но пока что модель сломана.Ссылка на трекер: https://bugs.chromium.org/p/chromium/issues/detail?id=1166875
Будьте осторожны.
#grid #aligncontent #placecontent
#заметка дня
Во времена расцвета jQuery реализация аккордеона — набора раскрывающихся блоков — укладывалась в метод slideToggle. Одна-две строчки – и готово.
Сейчас же jQuery не в почёте, а CSS Transitions не дают нам возможности анимировать высоту от 0 до auto. Браузеру не известна высота блока до того, как блок будет отображён. Так какой же выход из ситуации?
Чтобы это понять, надо сначала осознать, как когда-то с этим справлялась jQuery.
А она всего лишь производила кучу вычислений прямо перед вашими глазами: показывала блок, рассчитывала высоту контента, сохраняла, ставила в ноль и изменяла значение высоты блока используя заданную функцию плавности.
Комбинируя это знание с тем фактом, что CSS не может анимировать высоту до auto, в голову сразу приходит несколько решений.
1. Установка
2. Считать scrollHeight и анимировать до него. Собственно, фактически то же самое, что делал jQuery. Плюсы: полный контроль над происходящим Минусы: без JS работать не будет (в самом популярном случае вы просто оставляете аккордеон раскрытым).
3. Ну мы же в 2021 году, есть пользовательские свойства! Устанавливаем значение свойства равным высоте scrollHeight, как во втором случае, и дело в шляпе: https://codepen.io/alinaki/pen/OJWqXGV Плюсы: минимальный объём кода, минусы — поддержка пользовательских свойств в вашем таргете может отсутствовать. Зато если поддержки нет или JS выключен — анимации просто не будет.
А чтобы всё это было доступно с клавиатуры — не забываем применить технику «визуального скрытия (visually hidden)» на чекбоксы и установить лейблу стили для фокуса.
#css #customproperties #accordion
Во времена расцвета jQuery реализация аккордеона — набора раскрывающихся блоков — укладывалась в метод slideToggle. Одна-две строчки – и готово.
Сейчас же jQuery не в почёте, а CSS Transitions не дают нам возможности анимировать высоту от 0 до auto. Браузеру не известна высота блока до того, как блок будет отображён. Так какой же выход из ситуации?
Чтобы это понять, надо сначала осознать, как когда-то с этим справлялась jQuery.
А она всего лишь производила кучу вычислений прямо перед вашими глазами: показывала блок, рассчитывала высоту контента, сохраняла, ставила в ноль и изменяла значение высоты блока используя заданную функцию плавности.
Комбинируя это знание с тем фактом, что CSS не может анимировать высоту до auto, в голову сразу приходит несколько решений.
1. Установка
transition
на max-height
, вместо height
. От 0 до абсурдно большого значения. Плюсы — можно вообще JS не писать. Минусы — если сильно ошибся с предполагаемой высотой, функция плавности сойдёт с ума.2. Считать scrollHeight и анимировать до него. Собственно, фактически то же самое, что делал jQuery. Плюсы: полный контроль над происходящим Минусы: без JS работать не будет (в самом популярном случае вы просто оставляете аккордеон раскрытым).
3. Ну мы же в 2021 году, есть пользовательские свойства! Устанавливаем значение свойства равным высоте scrollHeight, как во втором случае, и дело в шляпе: https://codepen.io/alinaki/pen/OJWqXGV Плюсы: минимальный объём кода, минусы — поддержка пользовательских свойств в вашем таргете может отсутствовать. Зато если поддержки нет или JS выключен — анимации просто не будет.
А чтобы всё это было доступно с клавиатуры — не забываем применить технику «визуального скрытия (visually hidden)» на чекбоксы и установить лейблу стили для фокуса.
#css #customproperties #accordion
Попробовал немного причесать код из заметки выше и возник вопрос.
Стоит ли в подобном коде обозначать просто концепт, или если делать – то уже практически готовую к продакшену вещь?
Приглашаю к обсуждению.
Стоит ли в подобном коде обозначать просто концепт, или если делать – то уже практически готовую к продакшену вещь?
Приглашаю к обсуждению.
Media is too big
VIEW IN TELEGRAM
#инструмент дня
Уметь пользоваться отладчиком должен каждый разработчик.
Особенно когда инструменты становятся всё дружелюбнее, да ещё и встроены в браузер.
Итак, как отследить, какой код вызвал изменение атрибута (или поддерева, или вообще удаления) элемента?
Находим элемент в инспекторе, правой кнопкой – «Break on» ➡️ «attribute modifications» и... и в общем, всё, смотрите видео.
Теперь исполнение остановится по условию и вы сможете посмотреть код, изменивший ваш атрибут, прямо во вкладке «Sources». Там же можно добавить больше точек останова или просто продолжить.
#js #debug #devtools
Уметь пользоваться отладчиком должен каждый разработчик.
Особенно когда инструменты становятся всё дружелюбнее, да ещё и встроены в браузер.
Итак, как отследить, какой код вызвал изменение атрибута (или поддерева, или вообще удаления) элемента?
Находим элемент в инспекторе, правой кнопкой – «Break on» ➡️ «attribute modifications» и... и в общем, всё, смотрите видео.
Теперь исполнение остановится по условию и вы сможете посмотреть код, изменивший ваш атрибут, прямо во вкладке «Sources». Там же можно добавить больше точек останова или просто продолжить.
#js #debug #devtools
#библиотека дня
Хочется подобрать палитру для дизайна или логотипа? А может, создать тему на основе загруженной пользователем фотографии?
Для этого нужно выделить из изображения доминантные цвета.
А с этим поможет проект Color Thief: https://lokeshdhakar.com/projects/color-thief/
Работает в браузерах и в Node.js, лицензия допускает коммерческое применение.
Использование очень простое, документация снабжена исчерпывающими примерами.
#js #color #palette
Хочется подобрать палитру для дизайна или логотипа? А может, создать тему на основе загруженной пользователем фотографии?
Для этого нужно выделить из изображения доминантные цвета.
А с этим поможет проект Color Thief: https://lokeshdhakar.com/projects/color-thief/
Работает в браузерах и в Node.js, лицензия допускает коммерческое применение.
Использование очень простое, документация снабжена исчерпывающими примерами.
#js #color #palette
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня
Восхищаться красивыми примерами можно бесконечно, но полезные – гораздо… практичнее.
Вот недавно прошла очередная презентация Apple Keynote. Что сделает хороший разработчик? Правильно, воссоздаст анимацию её логотипа: https://codepen.io/Mamboleoo/pen/ZELqMOg
Что же сделает отличный разработчик?
А он не просто воссоздаст, но и покажет, как конкретно. Разложит на шаги и снабдит код подробными комментариями: https://codepen.io/Mamboleoo/pen/qBRQXPN
Кому не хватало понимания, как конкретно пишутся анимации с использованием GSAP – самое время пойти и попробовать.
👉 @htmlshit
#svg #canvas #gsap
Восхищаться красивыми примерами можно бесконечно, но полезные – гораздо… практичнее.
Вот недавно прошла очередная презентация Apple Keynote. Что сделает хороший разработчик? Правильно, воссоздаст анимацию её логотипа: https://codepen.io/Mamboleoo/pen/ZELqMOg
Что же сделает отличный разработчик?
А он не просто воссоздаст, но и покажет, как конкретно. Разложит на шаги и снабдит код подробными комментариями: https://codepen.io/Mamboleoo/pen/qBRQXPN
Кому не хватало понимания, как конкретно пишутся анимации с использованием GSAP – самое время пойти и попробовать.
👉 @htmlshit
#svg #canvas #gsap
#библиотека дня
Раскладка Masonry (буквально — каменная кладка), когда элементы уложены максимально плотно, до сих пор не потеряла своей популярности. Её отличие от классических CSS-колонок – в порядке следования элементов. Если колонки это
то в Masonry- или Pinterest-раскладке порядок стремится к классической сетке:
Но в сетке все ячейки одного размера, а в кладке – нет (смотрите иллюстрацию). Была даже попытка внедрить это в CSS Grids, в одной из версий Firefox.
Долгое время де-факто стандартом библиотеки для Masonry была, собственно, Masonry.js. Но она достаточно тяжёлая и её методы немного устарели. Сейчас же есть много альтернатив.
Одна из новых и сравнительно легковесных — это FlexMasonry. Весит всего 6 килобайт, подключается очень просто и с задачей справляется отлично. Ну и использует флексы, как нетрудно догадаться из названия 😉
👉 @htmlshit
#css #js #flex #masonry
Раскладка Masonry (буквально — каменная кладка), когда элементы уложены максимально плотно, до сих пор не потеряла своей популярности. Её отличие от классических CSS-колонок – в порядке следования элементов. Если колонки это
1 4 7
2 5 8
3 6
то в Masonry- или Pinterest-раскладке порядок стремится к классической сетке:
1 2 3
4 5 6
7 8
Но в сетке все ячейки одного размера, а в кладке – нет (смотрите иллюстрацию). Была даже попытка внедрить это в CSS Grids, в одной из версий Firefox.
Долгое время де-факто стандартом библиотеки для Masonry была, собственно, Masonry.js. Но она достаточно тяжёлая и её методы немного устарели. Сейчас же есть много альтернатив.
Одна из новых и сравнительно легковесных — это FlexMasonry. Весит всего 6 килобайт, подключается очень просто и с задачей справляется отлично. Ну и использует флексы, как нетрудно догадаться из названия 😉
👉 @htmlshit
#css #js #flex #masonry
This media is not supported in your browser
VIEW IN TELEGRAM
#codepen дня
Знакомая и популярная гифка, не правда ли?
Пришло время развеять миф! Мне кажется, вы достаточно готовы к двум практически одинаковым примерам на разных техниках.
Раз, на свежих Container Queries, если ваш браузер их поддерживает: https://codepen.io/jh3y/pen/LYxKjKX
Вот только есть нюанс! Как только их завезли в Chrome Canary, появился и полифилл. Именно этот полифилл и используется в примере, так что работает практически везде.
Два, на CSS Custom Properties: https://codepen.io/jh3y/pen/KKajeyy
В общем, на современном CSS сложнее неправильно сложить жалюзи, чем правильно. С чем я всех нас и поздравляю.
👉 @htmlshit
#css #containerqueries #customproperties #polyfill
Знакомая и популярная гифка, не правда ли?
Пришло время развеять миф! Мне кажется, вы достаточно готовы к двум практически одинаковым примерам на разных техниках.
Раз, на свежих Container Queries, если ваш браузер их поддерживает: https://codepen.io/jh3y/pen/LYxKjKX
Вот только есть нюанс! Как только их завезли в Chrome Canary, появился и полифилл. Именно этот полифилл и используется в примере, так что работает практически везде.
Два, на CSS Custom Properties: https://codepen.io/jh3y/pen/KKajeyy
В общем, на современном CSS сложнее неправильно сложить жалюзи, чем правильно. С чем я всех нас и поздравляю.
👉 @htmlshit
#css #containerqueries #customproperties #polyfill
This media is not supported in your browser
VIEW IN TELEGRAM
#фишка дня
TIL что в CodePen можно просто бросать файлы и он их подхватит. Подумалось, а нет ли возможности извлекать разметку, стили и скрипты из локальных файлов и забрасывать их в CodePen максимально автоматизированно?
Так вот, есть! Утилита буквально называется codepen-prefill и создана именно для этой цели: https://github.com/yuanchuan/codepen-prefill
Извлечёт все встроенные стили и скрипты из файла и закинет их в окно редактора. Останется лишь сохранить.
👉 @htmlshit
#codepen #npm #npx #utility
TIL что в CodePen можно просто бросать файлы и он их подхватит. Подумалось, а нет ли возможности извлекать разметку, стили и скрипты из локальных файлов и забрасывать их в CodePen максимально автоматизированно?
Так вот, есть! Утилита буквально называется codepen-prefill и создана именно для этой цели: https://github.com/yuanchuan/codepen-prefill
npx codepen-prefill index.html
Извлечёт все встроенные стили и скрипты из файла и закинет их в окно редактора. Останется лишь сохранить.
👉 @htmlshit
#codepen #npm #npx #utility
#статья дня
Ахмад Шадид разбирает, как прогрессировала кроссбраузерная веб-разработка за 10 лет: https://ishadeed.com/article/cross-browser-development/
Статья очень хороша как развлекательное чтение, ведь Шадид не был разработчиком в те годы, это лишь некая ретроспектива.
Впрочем, если вы вошли в разработку лишь в последние пару лет и не до конца понимаете, что же означает кроссбраузерность на самом деле – вот самое то.
Плюс, дана краткая справка по нынешнему состоянию дел.
👉 @htmlshit
#css #supports
Ахмад Шадид разбирает, как прогрессировала кроссбраузерная веб-разработка за 10 лет: https://ishadeed.com/article/cross-browser-development/
Статья очень хороша как развлекательное чтение, ведь Шадид не был разработчиком в те годы, это лишь некая ретроспектива.
Впрочем, если вы вошли в разработку лишь в последние пару лет и не до конца понимаете, что же означает кроссбраузерность на самом деле – вот самое то.
Плюс, дана краткая справка по нынешнему состоянию дел.
👉 @htmlshit
#css #supports
Ishadeed
The State of CSS Cross-Browser Development
My thoughts on why cross-browser development is better than in the past.
This media is not supported in your browser
VIEW IN TELEGRAM
#заметка дня
Давайте сегодня поговорим том, что иногда то, что выглядит как грид, на самом деле так же легко реализуется флексами. Ну мало ли.
Возьмём, например, чередующиеся колонки. Это очень часто встречающийся вопрос. В первой строке 3, во второй 2, в третьей опять 3 и так далее.
Первая мысль – перед нами грид. Но CSS Grid сам по себе не решает вопрос повторяющихся шаблонных структур, в любом случае приходится применять nth-child. Так какая тогда разница?
Давайте просто сделаем:
https://codepen.io/alinaki/pen/zYNVqvL
И то же самое на гридах:
https://codepen.io/alinaki/pen/NWdZNGd
Число строк совершенно одинаковое. Возможно, на гридах и элегантнее, решать вам.
Бонус, flexbox + gap:
https://codepen.io/alinaki/pen/mdWdLrw
А вот яркий пример того, чего на флексе точно не сделать без дополнительных обёрток:
https://codepen.io/alinaki/pen/QWdXNYm
#css #flexbox #grid #flex
Давайте сегодня поговорим том, что иногда то, что выглядит как грид, на самом деле так же легко реализуется флексами. Ну мало ли.
Возьмём, например, чередующиеся колонки. Это очень часто встречающийся вопрос. В первой строке 3, во второй 2, в третьей опять 3 и так далее.
Первая мысль – перед нами грид. Но CSS Grid сам по себе не решает вопрос повторяющихся шаблонных структур, в любом случае приходится применять nth-child. Так какая тогда разница?
Давайте просто сделаем:
https://codepen.io/alinaki/pen/zYNVqvL
И то же самое на гридах:
https://codepen.io/alinaki/pen/NWdZNGd
Число строк совершенно одинаковое. Возможно, на гридах и элегантнее, решать вам.
Бонус, flexbox + gap:
https://codepen.io/alinaki/pen/mdWdLrw
А вот яркий пример того, чего на флексе точно не сделать без дополнительных обёрток:
https://codepen.io/alinaki/pen/QWdXNYm
#css #flexbox #grid #flex
#статья дня
Это настолько великолепная и нужная статья, что я решил не ждать до следующих будней.
Итак, нужны ли вендорные префиксы в 2021 году?
Короткий ответ: да, нужны.
Длинный ответ, собственно: https://css-tricks.com/is-vendor-prefixing-dead/
В качестве анонса можно отметить, что с 2013 по 2021 год количество требующих префиксов правил сократилось на треть. Не самый впечатляющий результат.
Статья предоставляет детальный разбор каждого свойства под актуальные (not dead) браузеры в виде таблиц и примеров.
Да ёлки, она даже как закладка хороша!
#css #vendorprefix #crossbrowser
Это настолько великолепная и нужная статья, что я решил не ждать до следующих будней.
Итак, нужны ли вендорные префиксы в 2021 году?
Короткий ответ: да, нужны.
Длинный ответ, собственно: https://css-tricks.com/is-vendor-prefixing-dead/
В качестве анонса можно отметить, что с 2013 по 2021 год количество требующих префиксов правил сократилось на треть. Не самый впечатляющий результат.
Статья предоставляет детальный разбор каждого свойства под актуальные (not dead) браузеры в виде таблиц и примеров.
Да ёлки, она даже как закладка хороша!
#css #vendorprefix #crossbrowser
CSS-Tricks
Is Vendor Prefixing Dead? | CSS-Tricks
Let‘s take a quick stroll down memory-lane to revisit how vendor prefixing CSS properties came to be. I hope I don’t trigger PTSD for anyone!