WebDEV
8.96K subscribers
2.21K photos
11 videos
2.73K links
Сообщество веб-разработчиков.

На канале можно найти: видео-уроки, полезные статьи, новости из мира IT и веб-разработки.

Ссылка: @Portal_v_IT

Сотрудничество: @oleginc, @tatiana_inc

Канал на бирже: telega.in/c/webb_dev

РКН: clck.ru/3L2oTf
Download Telegram
💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss

Великая сила амперсанда в 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
💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss

▍Часть 2

Блок — это отдельный компонент, который не знает о других блоках и их расположении.

«Блок — логически и функционально независимый компонент страницы, аналог компонента в Web Components… Независимость блоков обеспечивает возможность их повторного использования, а также удобство в разработке и поддержке проекта.» (источник)

Такой код будет ошибочным, т.к. состояние одного блока влияет на элемент в другом блоке:

.block {
&:hover .another-block__element {
color: red;
}
}

Продолжение следует...

WebDEV #советы #web
🛠 Happy Hues — палитры отобранных цветов, которые будут уместны в определённом контексте.

WebDEV #инструменты
🔥 Лучшее на канале за неделю

1
. React Native за 100 секунд.

2. frontendpractice — поднимите свои навыки во фронтенде на новый уровень, воссоздавая реальные веб-сайты.

3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss: Часть 1 | Часть 2.
WebDEV #test #html

Выберите правильный вариант 👇🏼
💡 Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss

▍Часть 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
🛠 Cssbattle — создавайте различные фигуры на CSS в каждом челлендже и улучшайте свои навыки.

WebDEV #инструменты #css
💡 Не используйте миксины, когда можно использовать миксины

Миксины очень помогают следовать принципу DRY (Don’t Repeat Yourself), их активно используют в scss для таких абстрактных задач, как сетка, но о них почему-то забывают, когда речь заходит о верстке компонент. Например, у вас есть кнопки разных цветов, у которых на ховере происходит инверсия цвета. Для инверсии можно написать миксин и сделать стили чуточку чище.

Также советуем обратить внимание на плейсхолдеры, которые, к сожалению, редко встречаются в верстке новичков.

В Jade тоже следует активнее использовать миксины. Например, для svg-спрайтов. Пример можно посмотреть здесь.

WebDEV #советы #web
🔥 Лучшее на канале за неделю

1
. Amazon Web Services in Action.

2. Cssbattle — создавайте различные фигуры на CSS в каждом челлендже и улучшайте свои навыки.

3. Ошибка: блоки влияют друг на друга, одни и те же селекторы встречаются в нескольких местах в scss.
WebDEV #test #js

Выберите правильный вариант 👇🏼
💡 Ошибка: беспорядок в медиазапросах

Частая ошибка — смешивать mobile-first и desktop-first подходы. Сейчас, когда IE8 перестал фигурировать в спеках, можно смело переходить на mobile-first. Если макеты готовы только для десктопа, попробуйте повлиять на дизайнера, ссылаясь, например, на эту книгу. В любом случае, будете вы использовать min-width или max-width, используйте что-то одно. Иначе в какой-то момент станет тяжело отслеживать логику изменения стилей, а значит, проблематично поддерживать верстку.

Кроме того, не стоит писать медиазапросы по хардкоду, используйте как минимум переменные для брейкпоинтов. Т.е. вместо:

@media (min-width: 1024px)

должно получиться:

$laptop-landscape: 1024px;

@media (min-width: $laptop-landscape)

Переменные для брейкпоинтов стоит хранить в отдельном документе или в layout.scss. Можно пойти дальше, прочитать эту статью и выбрать один из предложенных подходов (или написать свой).

Продолжение следует...

WebDEV #советы #web
NestJS за 100 секунд

Nest — это прогрессивная платформа для создания серверных приложений и API-интерфейсов с помощью Node.js.

📺 YouTube

WebDEV #видео #NestJS #js
🛠 100dayscss — создайте за 100 дней что-нибудь прекрасное и выведите свои навыки CSS на новый уровень. Новые задачи каждый день!

WebDEV #инструменты #css
💡 Ошибка: беспорядок в медиазапросах

▍Часть 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. Ошибка: беспорядок в медиазапросах.