Code Ready | Frontend
21.7K subscribers
1.27K photos
534 videos
17 files
995 links
Авторский канал по Frontend разработке.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Cотрудничество: @energy_c

РКН: https://clck.ru/3NJCKs
Download Telegram
Прокачать навыки вёрстки и фронтенда можно в телеграм!

В этом канале опытный верстальщик делится структурированными уроками и различными материалами по HTML, CSS, JS, а также советами по заработку на фрилансе.

Канал будет полезен:
1. начинающим и опытным верстальщикам
2. программистам
3. веб-дизайнерам

Научиться и зарабатывать на верстке:
@free_html_lessons
Не давай стилям компонента протекать во вложенные компоненты!

Частая проблема большого 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 к структуре разметки.

📣 Code Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥136🤝4👍2
👩‍💻 Адаптирует картинки под разные устройства и поддерживаемые форматы!

Тег <picture> позволяет браузеру выбирать подходящую версию изображения в зависимости от размера экрана, поддерживаемого формата или других условий.

Внутри <picture> обычно размещают:
<source> — задаёт альтернативные версии изображения;
srcset — указывает файл изображения;
media — определяет условие выбора, например ширину экрана;
type — указывает MIME-тип формата, например image/avif;
<img> — служит основным или резервным вариантом изображения.


Браузер анализирует каждый тег <source> по порядку, останавливается на первом подходящем под текущие условия и отображает картинку из атрибута srcset. Другие теги не анализируются. Если тег <picture> не поддерживается браузером или ни один из тегов <source> не подходит под условия, то отображается картинка из тега <img>.

📣 Code Ready | #атрибут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍75🤝3🔥1