Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.
https://www.dev-notes.ru
@snakenf
Post #1444
306
ЗА @dev_notes_ru
Showing posts older than #1445 · Back to latest

:user-valid и :user-invalid:user-valid и :user-invalid предоставляют более умный способ стилизации состояния валидности формы в зависимости от действия пользователя.:user-valid и :user-invalid устраняют давнее неудобство CSS стилизации валидации форм — слишком раннее отображение состояния ошибки.:valid и :invalid, новые селекторы ждут реального взаимодействия с пользователем, перед применением стилей. Это, небольшое отличие приводит к значительному улучшению пользовательского опыта: больше нет полей, помеченных как невалидные до того, как пользователь начал вводить текст.
align-content: Простой способ выравнивания по центру с CSSalign-content в блочных макетах, можно центрировать по вертикали с той же гибкостью, что и в flex и grid.
<details>: Встроенный аккордеон, который вы не используете<details> может заменить JavaScript аккордеоны и почему он может быть лучше, чем ваше текущее решение.<details>, возможно, один из самых недооцененных встроенных элементов. Меня постоянно удивляет, как много разработчиков прибегают к использованию JavaScript, когда им нужно показать/скрыть содержимое, совершенно не обращая внимания на эту встроенную возможность.
navigator.clipboard — Новый асинхронный Clipboard API в JavaScriptnavigator.clipboardnavigator.clipboard, я был поражён тем, насколько просто он упростил копирование и вставку в веб-приложениях. Прошли времена хаков document.execCommand.document.execCommand("copy"). Этот подход был синхронным и ограниченным — он мог копировать текст только из выбранных элементов DOM. Кроме того, в разных браузерах он работал нестабильно.
@supports@supports@supports, проверяя, могут ли браузеры работать с современными возможностями CSS. Считайте, это страховкой для стилей — если браузер не поддерживает какую-либо современную функцию, можно обеспечить надёжный резервный вариант.

lh и rlh
searchsearch — специализированный контейнер для интерфейсов поиска.<search> служит семантической обёрткой для форм поиска и фильтрующих компонентов UI. Он обеспечивает лучшую доступность, чем общие элементы <div>, и разъясняет назначение связанного с поиском контента как браузерам, так и вспомогательным технологиям.div с ролями ARIA для обозначения областей поиска — решение приемлемое, но не идеально. Элемент search меняет ситуацию, предоставляя собственное семантическое значение для интерфейсов поиска и фильтрации.
withWhereHas` withWhereHas, позволяющим сделать именно это 🚀.
remove` Strremove, которая также может быть связана с другими методами 🚀.
setTimeout(0) для передачи главного потока. Новый API обеспечивает более точный контроль над тем, как и когда выполняются задачи.setTimeout к передаче главного потока не хватает детального контроля и правильной расстановки приоритетов. API Scheduler устраняет эти недостатки, предлагая более надёжное решение.
content-visibility: Улучшение производительности веб-сайтовcontent-visibility откладывает рендеринг элемента, включая компоновку и отрисовку, до тех пор, пока он не понадобитсяcontent-visibility браузеры послушно отображают каждый пиксель, независимо от того, видите его или нет. Это, как в ресторане — готовят каждое блюдо в меню на случай, если кто-то его закажет.content-visibility сообщает браузерам, что они могут не рендерить элементы пока они вне области просмотра. Это может показаться простым, но для страниц с длинным скроллингом это очень важно.
keyBy`pluck, метод keyBy делает именно это 🚀.
:has(), устраняет давнее ограничение в CSS — невозможность стилизовать элементы на основе их содержимого.:has() — функциональный псевдокласс работающий как условная проверка содержимого элемента. Он позволяет применять стиль в зависимости от того, содержит ли элемент определённые дочерние элементы.