Логово верстальщика – Telegram
Логово верстальщика
8K subscribers
996 photos
48 videos
4 files
1.74K links
Канал для верстальщиков с инфой о HTML и CSS, а так же JavaScript на уровне верстальщиков.

Канал на бирже - https://telega.in/c/webdevlair

По вопросам рекламы или разработки: @g_abashkin
Download Telegram
​​🔥Как дебажить код на JavaScript: примеры ошибок и советы новичкам

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

Читать...
CSS псевдокласс :has()

Алоха товарищи! Сегодня будет небольшой пост про один из новых псевдоклассов CSS.

Что он делает: позволяет создать CSS селектор для элемента в зависимости от того есть ли у него тот или иной дочерний элемент.

Примеры:

// Выбираем элемент section который содержит h2
section:has(h2) {
  background: lightgray;
}

// Выбираем img только в том случае если его родительский элемент содержит h2
section:has(h2) img {
  border: 5px solid lime;
}

Собственно вот интересная такая штука.

❗️ Но как это часто случается есть нюанс. Согласно ресурсу caniuse этот псевдокласс на данный момент не поддерживает Firefox, но учитывая что месяца 3 назад его еще не поддерживал хром то думаю это вопрос недолгого времени.
​​😉Расширенные концепции JavaScript для написания качественного, поддерживаемого кода

В этой статье автор рассмотрит некоторые из продвинутых концепций JavaScript, которые должны быть известны каждому опытному разработчику.

Читать...
​​🦾Как создать монорепозиторий с несколькими сервисами, используя Lerna и Yarn?

В этой статье автор расскажет о начальной настройке, структуре каталогов, управлении зависимостями, тестировании и развёртывании.

Читать...
​​💻Тестирование UI в JavaScript – наилучшие практики

В этой статье мы рассмотрим практики в тестировании UI на JavaScript, от разработки через поведение (BDD) до соглашений об именовании и до того, какие именно операции браузер должен выполнять в рамках тестов.

Читать...
​​🥸Полифилы JavaScript: что это и зачем они нужны?

В этой статье я расскажу как реализоватьнесколько полифилов: map, forEach, filter, reduce.

Читать...
​​🕹Мои первые шаги в создании браузерных 2D игр на чистом JavaScript + Canvas. Часть 1. Прототип

В этой статье автор поделиться с вами первым опытом в создании двумерных браузерных игр.

Читать...
​​🧐Классификация и идентификация элементов в HTML и CSS и немного о БЭМ для самых маленьких

В этой статье мы рассмотрим, зачем они нужны, когда их использовать, и как работает методология БЭМ (Блок, Элемент, Модификатор).

Читать...
​​🧑‍💻Прокачиваем вёрстку ARIA атрибутами. Атрибут aria-label

В этой статье я расскажу, какая польза от атрибута, а также передам свой практический опыт, чтобы вы могли его повторить.

Читать...
CSS псевдокласс :is()

Всем привет! Недавно узнал о том что в CSS есть псевдокласс :is(), который позволяет значительно сократить длинные записи селекторов. По сути он просто принимает список селекторов для выбора элементов HTML.

Несколько примеров:

button:is(:hover, :focus) {
 background: green;
}

Меняет фон для кнопки если она имеет состояние focus или hover.

:is(thead, tfoot) tr :is(th, td) {
 background: red;
}

Выбирает все элементы th и td внутри хедера и футера таблицы.

:is(ul, ol, menu) > :is(ul, ol, menu) {
 background: yellow;
}

В данном примере мы выбираем все списки которые уже находятся в списках.

Собственно вот такая довольно полезная штуковина. Поддерживается на данный момент всеми основными браузерами, вот ссылка на caniuse. Удачи в экспериментах!
​​🖼Работа с размерами изображений с помощью класса Uri в Joomla 4

В этой статье автор расскажет о том, как автоматически определять размеры файлов изображений для атрибутов width и height с помощью ядра Joomla 4 и не грузить сервер.

Читать...
​​😍Наклонные края с постоянным углом в CSS

В этой статье автор расскажет, как сделать постоянный угол наклона независимо от размера экрана

Читать...
JS - document.visibilityState или определяем активна ли сейчас вкладка в браузере

Алоха товарищи фронты! Не большой шортрид о том как определить находится ли сейчас юзер на странице или нет.

Для данной задачи мы будем использовать:

👉 Cвойство window.navigator.visibilityState, которое может быть равно или строке 'hidden' или строке 'visible'
👉 А так же стандартный JS event visibilitychange, который в свою очередь будет реагировать на открытие / скрытие вкладки браузера и проверять свойство window.navigator.visibilityState

Пример кода:

const isVisibilityHiddenState = 'hidden';

const handleVisibility = () => {
 if (document.visibilityState === isVisibilityHiddenState) {
 console.log('user is on the page');
 } else {
 console.log('user is not on the page right now');
 }
}

document.addEventListener('visibilitychange', handleVisibility);

Надеюсь это было вам полезно. Удачи в экспериментах!
​​🛍«Интернет-магазин на диване». Разрабатываем веб-приложение в Telegram

В статье рассказываем, как разработать свою версию LAZZON прямо в мессенджере.

Читать...
​​🤠Создаём расширение google chrome для записи экрана и камеры

В данной статье рассмотрим основные моменты при создании расширения google chrome для записи экрана и камеры.

Читать...
CSS - min(), max() - функции

Всем привет! Относительно недавно в CSS появилась еще одна клевая фича которая позволяет сократить наши портянки кода и сделать его более лаконичным. 
Сегодня я хотел бы рассказать о min, max функциях

Например мы имеем div и у него свойство width, max-width, min-width:

Как мы писали раньше:

// Вариант 1 
div {max-width: 780px; width: 80%};

// Вариант 2
div {width: 50%; min-width: 400px};

Как это можно написать сейчас:

// Вариант 1
div {max-width: min(80%, 780px)};

// Вариант 2
div {width: max(50%, 400px)};

Полностью в рамках телеграма раскрыть эту тему нереально поэтому для тех кого интересуют подробности вот крутая статья с хабра.

Так же согласно caniuse эти функции уже поддерживают последние версии всех основных брауеров.
​​😵Как применять Module Federation для шеринга виджетов из UI-kit

В этой статье мы рассмотрим возможности Module Federation для решения проблем, связанных с консистентностью виджета, как можно подключить модуль с помощью данной технологии и как обрабатывать ситуации, при которых виджет не сможет быть загружен и подключен.

Читать...
​​👨‍💻JavaScript pattern CustomSwitch

В данной статье будет рассмотрен паттерн CustomSwitch, который может быть использован в различных ситуациях и программных языках.

Читать...
​​🤝Знакомьтесь, object-view-box

В этой статье я познакомлю вас с новым CSS-свойством object-view-box, которое позволяет нам обрезать и изменять размер таких HTML-элементов, как <img> или <video>.

Читать...
​​👉Основные приемы работы с Canvas [Part 1]

В этой статье мы рассмотрим, как рисовать различные фигуры, и реализуем алгоритм fibonacci flower, также известный как golden ratio или phyllotaxis.

Читать...
​​👉Основные приемы работы с Canvas [Part 2]

В этой статье мы рассмотрим L-системы в качестве примера для создания различных интересных визуализаций.

Читать...