This media is not supported in your browser
VIEW IN TELEGRAM
В репозитории собраны полезные ресурсы по веб-разработке: HTML, CSS, JavaScript, React, Node.js, Webpack, Git, тестирование и архитектура frontend-приложений. Есть статьи, курсы, видео, книги, разборы задач и практические материалы по асинхронности, ООП, алгоритмам, паттернам проектирования и созданию реальных проектов.
Оставляю ссылочку: GitHub📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9🤝7👍4
Прокачать навыки вёрстки и фронтенда можно в телеграм!
В этом канале опытный верстальщик делится структурированными уроками и различными материалами по HTML, CSS, JS, а также советами по заработку на фрилансе.
Канал будет полезен:
1. начинающим и опытным верстальщикам
2. программистам
3. веб-дизайнерам
Научиться и зарабатывать на верстке:
@free_html_lessons
В этом канале опытный верстальщик делится структурированными уроками и различными материалами по HTML, CSS, JS, а также советами по заработку на фрилансе.
Канал будет полезен:
1. начинающим и опытным верстальщикам
2. программистам
3. веб-дизайнерам
Научиться и зарабатывать на верстке:
@free_html_lessons
Не давай стилям компонента протекать во вложенные компоненты!
Частая проблема большого UI: стилизуем весь контент внутри компонента, а потом эти правила неожиданно задевают другой компонент, вложенный внутрь.
Обычный селектор по вложенности затронет оба
С
Первый
Это особенно удобно для CMS-контента,
И не приходится усложнять селекторы:
Вместо описания всей структуры мы задаём архитектурную границу:
🔥
📣 Code Ready | #совет
Частая проблема большого UI: стилизуем весь контент внутри компонента, а потом эти правила неожиданно задевают другой компонент, вложенный внутрь.
<article class="article">
<p>Текст статьи</p>
<div class="widget"><p>Текст виджета</p></div>
</article>
Обычный селектор по вложенности затронет оба
<p>:.article p {
margin-block: 1em;
}С
@scope можно задать не только начало области, но и место, перед которым действие правил заканчивается.@scope (.article) to (.widget) {
p { margin-block: 1em; }
}Первый
<p> получит стиль, а <p> внутри .widget — уже нет. .widget здесь является нижней границей scope, поэтому элементы внутри неё исключаются из этой области.Это особенно удобно для CMS-контента,
markdown, rich-text и дизайн-систем, где внутрь одного компонента могут попадать другие независимые компоненты.И не приходится усложнять селекторы:
.article > p,
.article > section > p {
/* попытка описать структуру DOM */
}
Вместо описания всей структуры мы задаём архитектурную границу:
@scope (.content) to (.component) {
a { text-decoration: underline; }
}@scope специально предназначен для ограничения селекторов конкретным DOM-поддеревом без наращивания специфичности и жёсткой привязки CSS к структуре разметки.Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11❤6🤝4👍2
Тег
<picture> позволяет браузеру выбирать подходящую версию изображения в зависимости от размера экрана, поддерживаемого формата или других условий.Внутри <picture> обычно размещают:
• <source> — задаёт альтернативные версии изображения;
• srcset — указывает файл изображения;
• media — определяет условие выбора, например ширину экрана;
• type — указывает MIME-тип формата, например image/avif;
• <img> — служит основным или резервным вариантом изображения.
Браузер анализирует каждый тег
<source> по порядку, останавливается на первом подходящем под текущие условия и отображает картинку из атрибута srcset. Другие теги не анализируются. Если тег <picture> не поддерживается браузером или ни один из тегов <source> не подходит под условия, то отображается картинка из тега <img>.Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤3🤝2🔥1