Вложенность CSS теперь является базовым стандартом!
Теперь можно писать вложенные селекторы прямо в CSS, как в Sass, но без использования препроцессоров. Просто пишите чистый CSS
Пример:
Что изменилось?
Теперь вам не нужно использовать препроцессоры, чтобы работать с вложенными селекторами. Всё доступно прямо в стандартном CSS
@WebDev_Plus
Теперь можно писать вложенные селекторы прямо в CSS, как в Sass, но без использования препроцессоров. Просто пишите чистый CSS
Пример:
.card {
color: black;
&:hover { color: blue; }
.title { font-weight: bold; }
}Что изменилось?
Теперь вам не нужно использовать препроцессоры, чтобы работать с вложенными селекторами. Всё доступно прямо в стандартном CSS
@WebDev_Plus
MDN Web Docs
CSS nesting - CSS | MDN
The CSS nesting module defines a syntax for nesting selectors, providing the ability to nest one style rule inside another, with the selector of the child rule relative to the selector of the parent rule.
❤5
Если вы знаете эти строки CSS, вы можете сверстать 80% макетов 👇
@WebDev_Plus
display: flex;
justify-content: center;
align-items: center;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
position: relative;
gap: 1rem;
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Мгновенно извлекайте всю дизайн-систему любого сайта
Dembrandt — это NPM-пакет, который сканирует сайт и вытаскивает его визуальные стилевые параметры: цвета, типографику, отступы и паттерны лейаута.
Вместо того чтобы вручную инспектировать стили в DevTools, вы можете быстро понять, как сайт структурирован и стилизован
GitHub тут, сайт здесь👜
Dembrandt — это NPM-пакет, который сканирует сайт и вытаскивает его визуальные стилевые параметры: цвета, типографику, отступы и паттерны лейаута.
Вместо того чтобы вручную инспектировать стили в DevTools, вы можете быстро понять, как сайт структурирован и стилизован
GitHub тут, сайт здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
Изучайте программирование, играя в игры
1. Kubernetes http://k8sgames.com
2. DevOps http://devops.games
3. Linux http://overthewire.org
4. Git http://ohmygit.org
5. Python http://codecombat.com
6. CSS и HTML http://codepip.com
@WebDev_Plus
1. Kubernetes http://k8sgames.com
2. DevOps http://devops.games
3. Linux http://overthewire.org
4. Git http://ohmygit.org
5. Python http://codecombat.com
6. CSS и HTML http://codepip.com
@WebDev_Plus
👍4
Сегодня я узнал, что можно
Это предотвратит выход контента за пределы экрана, так что пользователь не сможет прокрутить его.
@WebDev_Plus
безопасно выравнивать элементы внутри контейнера. Это предотвратит выход контента за пределы экрана, так что пользователь не сможет прокрутить его.
@WebDev_Plus
Метод массива
Проверяет, удовлетворяет ли хотя бы один элемент массива заданному условию. Если хотя бы один элемент проходит проверку — возвращает
Важные моменты:
- Вызывает callback-функцию для каждого элемента массива
- Прекращает итерацию, как только условие выполнено (early exit)
- Возвращает boolean (
- Пропускает пустые слоты в разреженных (sparse) массивах
@WebDev_Plus
some() в JavaScriptПроверяет, удовлетворяет ли хотя бы один элемент массива заданному условию. Если хотя бы один элемент проходит проверку — возвращает
true, иначе false.Важные моменты:
- Вызывает callback-функцию для каждого элемента массива
- Прекращает итерацию, как только условие выполнено (early exit)
- Возвращает boolean (
true или false)- Пропускает пустые слоты в разреженных (sparse) массивах
@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
CSS
Функция
@WebDev_Plus
shape() теперь входит в Baseline (новодоступная фича) → https://goo.gle/47nnZBGФункция
shape() позволяет создавать адаптивные (responsive) и сложные контуры (paths) для лэйаутов и анимаций, используя стандартные CSS-единицы, такие как %, rem и calc().@WebDev_Plus
This media is not supported in your browser
VIEW IN TELEGRAM
CSS Custom Highlight API позволяет подсвечивать результаты поиска
— без изменения структуры DOM.
@WebDev_Plus
— без изменения структуры DOM.
::highlight(search-results) {
background-color: #ff0066;
color: white;
}@WebDev_Plus
❤5👍3
hucre — zero-dependency движок таблиц на TypeScript
Создан 8 дней назад и уже набрал 489 звёзд. Поддерживает чтение и запись XLSX / CSV / ODS, а полный gzip-бандл весит всего 18 КБ.
Другими словами, XLSX-парсер упакован в dependency-free «гаджет» размером 18 КБ.
https://github.com/productdevbook/hucre
@WebDev_Plus
Создан 8 дней назад и уже набрал 489 звёзд. Поддерживает чтение и запись XLSX / CSV / ODS, а полный gzip-бандл весит всего 18 КБ.
Другими словами, XLSX-парсер упакован в dependency-free «гаджет» размером 18 КБ.
https://github.com/productdevbook/hucre
@WebDev_Plus
❤4
CSS Rulesets
Это базовые строительные блоки CSS, которые определяют, какие элементы стилизовать и каким образом. Ruleset состоит из селектора и блока деклараций.
Важные моменты:
▪️ Селектор указывает, к каким HTML-элементам применяется стиль (например, div, .class)
▪️ Блок деклараций содержит пары свойство–значение (color: red;)
▪️ Каждая декларация заканчивается точкой с запятой
▪️ В одном ruleset можно задать несколько деклараций
@WebDev_Plus
Это базовые строительные блоки CSS, которые определяют, какие элементы стилизовать и каким образом. Ruleset состоит из селектора и блока деклараций.
Важные моменты:
@WebDev_Plus
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Одно из моих любимых новых CSS-свойств — это
Избавляет от сложной логики позиционирования на JavaScript, улучшает производительность.
Самое крутое — это умное перепозиционирование, чтобы избежать overflow.
Простое и чистое решение
@WebDev_Plus
anchor positioning.trigger {
anchor-name: --tip;
}
.tooltip {
position: fixed;
position-anchor: --tip;
position-area: top center;
position-try-fallbacks: flip-block;
}Избавляет от сложной логики позиционирования на JavaScript, улучшает производительность.
Самое крутое — это умное перепозиционирование, чтобы избежать overflow.
Простое и чистое решение
@WebDev_Plus
❤7
CSS spacing grids обычно приводят к громоздким цепочкам
@WebDev_Plus
calc() или куче кастомных свойств. Вместо этого можно переиспользовать редко используемую единицу rlh как короткий и гибкий токен для сетки.@WebDev_Plus
👍5
Как работает JavaScript:
Script.js
|
|------------------------------|
| Event Loop |
| Call Stack |
| Callback Queue |
| Promises |
| V8 Engine |
| Garbage Collection|
|------------------------------|
|
Async & non-blocking
@WebDev_Plus
Script.js
|
|------------------------------|
| Event Loop |
| Call Stack |
| Callback Queue |
| Promises |
| V8 Engine |
| Garbage Collection|
|------------------------------|
|
Async & non-blocking
@WebDev_Plus
👌2
Alibaba фактически убила стек автоматизации браузера.
page-agent.js — это GUI-агент, который работает прямо внутри веб-страницы. Никакого Selenium. Никакого Puppeteer. Никаких Chrome-расширений. Никакого Python-бэкенда. Просто один script-тег.
Он читает DOM как текст (без скриншотов и мультимодальности), подключаешь любую свою LLM и выполняешь команды на естественном языке вроде «заполни эту форму» или «нажми login» — прямо внутри страницы.
Юзкейсы реально мощные:
→ Можно встроить AI-копилота в свой SaaS буквально за несколько строк кода
→ Превратить 20 кликов в ERP/CRM в одно предложение
→ Сделать любой legacy веб-приложение доступным через голос или естественный язык
12k звёзд. Лицензия MIT. Построен поверх внутренних механизмов browser-use — но без всего лишнего сетапа.
Вот как на практике выглядит «AI-native UX».
https://github.com/alibaba/page-agent
@WebDev_Plus
page-agent.js — это GUI-агент, который работает прямо внутри веб-страницы. Никакого Selenium. Никакого Puppeteer. Никаких Chrome-расширений. Никакого Python-бэкенда. Просто один script-тег.
Он читает DOM как текст (без скриншотов и мультимодальности), подключаешь любую свою LLM и выполняешь команды на естественном языке вроде «заполни эту форму» или «нажми login» — прямо внутри страницы.
Юзкейсы реально мощные:
→ Можно встроить AI-копилота в свой SaaS буквально за несколько строк кода
→ Превратить 20 кликов в ERP/CRM в одно предложение
→ Сделать любой legacy веб-приложение доступным через голос или естественный язык
12k звёзд. Лицензия MIT. Построен поверх внутренних механизмов browser-use — но без всего лишнего сетапа.
Вот как на практике выглядит «AI-native UX».
https://github.com/alibaba/page-agent
@WebDev_Plus
❤3
Нашёл UI-библиотеку, которая меня прям бесит.
Бесит, потому что всё должно работать именно так.
Oat:
→ 6KB CSS + 2.2KB JS
→ Ноль зависимостей
→ Не требует фреймворка
→ Без этапа сборки
→ Только семантический HTML
Пишешь
Пишешь
Пишешь
Никакого
Никаких
Просто HTML.
Доступность из коробки. Поддержка навигации с клавиатуры. Тёмная тема включена.
https://github.com/knadh/oat
@WebDev_Plus
Бесит, потому что всё должно работать именно так.
Oat:
→ 6KB CSS + 2.2KB JS
→ Ноль зависимостей
→ Не требует фреймворка
→ Без этапа сборки
→ Только семантический HTML
Пишешь
<button> — выглядит хорошо.Пишешь
<dialog> — выглядит хорошо.Пишешь
<input> — выглядит хорошо.Никакого
className="px-4 py-2 rounded-md bg-blue-500"Никаких
<Button variant="primary" size="md">Просто HTML.
Доступность из коробки. Поддержка навигации с клавиатуры. Тёмная тема включена.
https://github.com/knadh/oat
@WebDev_Plus
GitHub
GitHub - knadh/oat: Ultra-lightweight, zero dependency, semantic HTML, CSS, JS UI library. ~8KB min+gz.
Ultra-lightweight, zero dependency, semantic HTML, CSS, JS UI library. ~8KB min+gz. - knadh/oat
Границы выглядят не такими чёткими, как в Figma?
Figma рендерит внешний stroke иначе, чем браузеры — тонкие границы выглядят более чёткими и более светлыми (или тёмными).
Чтобы добиться такого же эффекта, используйте shadow вместо border.
@WebDev_Plus
Figma рендерит внешний stroke иначе, чем браузеры — тонкие границы выглядят более чёткими и более светлыми (или тёмными).
Чтобы добиться такого же эффекта, используйте shadow вместо border.
@WebDev_Plus
Пишите более чистый CSS с помощью nesting.
Теперь в CSS можно вкладывать селекторы напрямую.
Это улучшает читаемость, делает стили более модульными и уменьшает количество повторений.
Никакой препроцессор не нужен.
Подробнее : https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Nesting
@WebDev_Plus
Теперь в CSS можно вкладывать селекторы напрямую.
Это улучшает читаемость, делает стили более модульными и уменьшает количество повторений.
Никакой препроцессор не нужен.
Подробнее : https://developer.mozilla.org/en-US/docs/Web/CSS/Guides/Nesting
@WebDev_Plus