💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss
Великая сила амперсанда в Sass позволяет писать стили по БЭМ и делать это еще нагляднее. Такой код:
Продолжение следует...
WebDEV #советы #web
Великая сила амперсанда в Sass позволяет писать стили по БЭМ и делать это еще нагляднее. Такой код:
.block {
font-size: 1.2rem;
&--dark {
background: #000;
}
&__element {
text-aling: center;
&--big {
width: 100%;
}
.ie9 & {
&::before {
content: 'hello ie'
}
}
}
}
Будет скомпилирован в:.block {
font-size: 1.2rem;
}
.block--dark {
background: #000;
}
.block__element {
text-aling: center;
}
.block__element--big {
width: 100%;
}
.ie9 .block__element::before {
content: "hello ie";
}
Когда есть такой удобный инструмент, даже речи быть не может о повторе и переопределении стилей для одного блока. Если селектор .block уже написан в каком-то документе, то в другом документе его быть не должно. Продолжение следует...
WebDEV #советы #web
🛠 frontendpractice — поднимите свои навыки во фронтенде на новый уровень, воссоздавая реальные веб-сайты.
WebDEV #инструменты #frontend
WebDEV #инструменты #frontend
💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss
▍Часть 2
Блок — это отдельный компонент, который не знает о других блоках и их расположении.
«Блок — логически и функционально независимый компонент страницы, аналог компонента в Web Components… Независимость блоков обеспечивает возможность их повторного использования, а также удобство в разработке и поддержке проекта.» (источник)
Такой код будет ошибочным, т.к. состояние одного блока влияет на элемент в другом блоке:
WebDEV #советы #web
▍Часть 2
Блок — это отдельный компонент, который не знает о других блоках и их расположении.
«Блок — логически и функционально независимый компонент страницы, аналог компонента в Web Components… Независимость блоков обеспечивает возможность их повторного использования, а также удобство в разработке и поддержке проекта.» (источник)
Такой код будет ошибочным, т.к. состояние одного блока влияет на элемент в другом блоке:
.block {
&:hover .another-block__element {
color: red;
}
}
Продолжение следует...WebDEV #советы #web
🛠 Happy Hues — палитры отобранных цветов, которые будут уместны в определённом контексте.
WebDEV #инструменты
WebDEV #инструменты
💡 Подборка видео за 100 секунд
▫️ D3.js за 100 секунд
▫️ Vite за 100 секунд
▫️ React Query за 100 секунд
▫️ React Native за 100 секунд
WebDEV #подборка #видео
▫️ D3.js за 100 секунд
▫️ Vite за 100 секунд
▫️ React Query за 100 секунд
▫️ React Native за 100 секунд
WebDEV #подборка #видео
🔥 Лучшее на канале за неделю
1. React Native за 100 секунд.
2. frontendpractice — поднимите свои навыки во фронтенде на новый уровень, воссоздавая реальные веб-сайты.
3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss: Часть 1 | Часть 2.
1. React Native за 100 секунд.
2. frontendpractice — поднимите свои навыки во фронтенде на новый уровень, воссоздавая реальные веб-сайты.
3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss: Часть 1 | Часть 2.
💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss
▍Часть 3
Если возникает необходимость так написать, значит, что-то пошло не так на этапе именования, нужно незамедлительно вернуться к Jade и исправить атрибуты
Говоря о том, что блок не знает о других блоках, хочется вкратце упомянуть об одном полезном псевдоклассе, о котором постоянно забывают новички. Представьте лейаут верхнего уровня: есть блок с основным контентом и блок aside. Для двух этих блоков указана ширина в %, но на одной странице aside нет и ширина блока с основным контентом должна быть 100%. Тут нам на помощь придет псевдокласс
В случаях, когда
WebDEV #советы #web
▍Часть 3
Если возникает необходимость так написать, значит, что-то пошло не так на этапе именования, нужно незамедлительно вернуться к Jade и исправить атрибуты
class так, чтобы каждый блок был независимым. Если же заплатка нужна срочно и времени на изменения разметки нет, то оставьте комментарии TODO в обоих документах: в scss и в jade.Говоря о том, что блок не знает о других блоках, хочется вкратце упомянуть об одном полезном псевдоклассе, о котором постоянно забывают новички. Представьте лейаут верхнего уровня: есть блок с основным контентом и блок aside. Для двух этих блоков указана ширина в %, но на одной странице aside нет и ширина блока с основным контентом должна быть 100%. Тут нам на помощь придет псевдокласс
only-child: пример.В случаях, когда
only-child не подходит, используйте модификаторы.WebDEV #советы #web
📖 Amazon Web Services in Action
🖋 Andreas Wittig, Michael Wittig, 2018
Amazon Web Services in Action - это всеобъемлющее введение в вычисления, хранение данных и создание сетей в облаке AWS. Вы найдете четкое и актуальное освещение всех основных сервисов AWS, которые вам нужны, с акцентом на лучшие практики обеспечения безопасности, высокой доступности и масштабируемости.
💾 Скачать книгу
WebDEV #book #web
🖋 Andreas Wittig, Michael Wittig, 2018
Amazon Web Services in Action - это всеобъемлющее введение в вычисления, хранение данных и создание сетей в облаке AWS. Вы найдете четкое и актуальное освещение всех основных сервисов AWS, которые вам нужны, с акцентом на лучшие практики обеспечения безопасности, высокой доступности и масштабируемости.
💾 Скачать книгу
WebDEV #book #web
🛠 Cssbattle — создавайте различные фигуры на CSS в каждом челлендже и улучшайте свои навыки.
WebDEV #инструменты #css
WebDEV #инструменты #css
💡 Не используйте миксины, когда можно использовать миксины
Миксины очень помогают следовать принципу DRY (Don’t Repeat Yourself), их активно используют в scss для таких абстрактных задач, как сетка, но о них почему-то забывают, когда речь заходит о верстке компонент. Например, у вас есть кнопки разных цветов, у которых на ховере происходит инверсия цвета. Для инверсии можно написать миксин и сделать стили чуточку чище.
Также советуем обратить внимание на плейсхолдеры, которые, к сожалению, редко встречаются в верстке новичков.
В Jade тоже следует активнее использовать миксины. Например, для svg-спрайтов. Пример можно посмотреть здесь.
WebDEV #советы #web
Миксины очень помогают следовать принципу DRY (Don’t Repeat Yourself), их активно используют в scss для таких абстрактных задач, как сетка, но о них почему-то забывают, когда речь заходит о верстке компонент. Например, у вас есть кнопки разных цветов, у которых на ховере происходит инверсия цвета. Для инверсии можно написать миксин и сделать стили чуточку чище.
Также советуем обратить внимание на плейсхолдеры, которые, к сожалению, редко встречаются в верстке новичков.
В Jade тоже следует активнее использовать миксины. Например, для svg-спрайтов. Пример можно посмотреть здесь.
WebDEV #советы #web
🔥 Лучшее на канале за неделю
1. Amazon Web Services in Action.
2. Cssbattle — создавайте различные фигуры на CSS в каждом челлендже и улучшайте свои навыки.
3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss.
1. Amazon Web Services in Action.
2. Cssbattle — создавайте различные фигуры на CSS в каждом челлендже и улучшайте свои навыки.
3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss.
💡 Ошибка: беспорядок в медиазапросах
Частая ошибка — смешивать
Кроме того, не стоит писать медиазапросы по хардкоду, используйте как минимум переменные для брейкпоинтов. Т.е. вместо:
Продолжение следует...
WebDEV #советы #web
Частая ошибка — смешивать
mobile-first и desktop-first подходы. Сейчас, когда IE8 перестал фигурировать в спеках, можно смело переходить на mobile-first. Если макеты готовы только для десктопа, попробуйте повлиять на дизайнера, ссылаясь, например, на эту книгу. В любом случае, будете вы использовать min-width или max-width, используйте что-то одно. Иначе в какой-то момент станет тяжело отслеживать логику изменения стилей, а значит, проблематично поддерживать верстку.Кроме того, не стоит писать медиазапросы по хардкоду, используйте как минимум переменные для брейкпоинтов. Т.е. вместо:
@media (min-width: 1024px)должно получиться:
$laptop-landscape: 1024px;Переменные для брейкпоинтов стоит хранить в отдельном документе или в layout.scss. Можно пойти дальше, прочитать эту статью и выбрать один из предложенных подходов (или написать свой).
@media (min-width: $laptop-landscape)
Продолжение следует...
WebDEV #советы #web
NestJS за 100 секунд
Nest — это прогрессивная платформа для создания серверных приложений и API-интерфейсов с помощью Node.js.
📺 YouTube
WebDEV #видео #NestJS #js
Nest — это прогрессивная платформа для создания серверных приложений и API-интерфейсов с помощью Node.js.
📺 YouTube
WebDEV #видео #NestJS #js
YouTube
NestJS in 100 Seconds
Nest is a progressive framework for building server-side applications and APIs with Node.js. It leverages TypeScript and a powerful CLI to ship reliable apps quickly https://fireship.io/tags/nest/
#js #webdev #100SecondsOfCode
This video is NOT sponsored…
#js #webdev #100SecondsOfCode
This video is NOT sponsored…
🛠 100dayscss — создайте за 100 дней что-нибудь прекрасное и выведите свои навыки CSS на новый уровень. Новые задачи каждый день!
WebDEV #инструменты #css
WebDEV #инструменты #css
💡 Ошибка: беспорядок в медиазапросах
▍Часть 2
В scss есть возможность вкладывать медиазапросы в правила. Например:
Большое количество медиазапросов не сказывается ощутимо на производительности, но, разумеется, сказывается на весе css документа. Если у вас большой проект со сложной организацией контента, медиазапросов много, то стоит задуматься об их комбинации.
WebDEV #советы #web
▍Часть 2
В scss есть возможность вкладывать медиазапросы в правила. Например:
.block {
width: 100%;
@media screen and (min-width: 768px) {
width: 60%;
}
}
Это будет скомпилировано в:.block {
width: 100%;
}
@media screen and (min-width: 768px) {
.block {
width: 60%;
}
}
Так писать медиазапросы довольно удобно, тогда один селектор будет встречаться строго в одном месте в стилях. В таком случае обязательно использовать переменные для основных брейкпоинтов. Должно быть так, чтобы по названиям переменных можно было легко определять, какой брейкпоинт соответствует устройству (по спецификации и макетам проекта), а какой был написан специально под контент.Большое количество медиазапросов не сказывается ощутимо на производительности, но, разумеется, сказывается на весе css документа. Если у вас большой проект со сложной организацией контента, медиазапросов много, то стоит задуматься об их комбинации.
WebDEV #советы #web
🔥 Лучшее на канале за неделю
1. NestJS за 100 секунд.
2. 100dayscss — создайте за 100 дней что-нибудь прекрасное и выведите свои навыки CSS на новый уровень.
3. Ошибка: беспорядок в медиазапросах.
1. NestJS за 100 секунд.
2. 100dayscss — создайте за 100 дней что-нибудь прекрасное и выведите свои навыки CSS на новый уровень.
3. Ошибка: беспорядок в медиазапросах.