Фронтенд Гайд
7.04K subscribers
653 photos
311 videos
336 links
Канал для фронтендеров, много полезных лайфхаков, фичей, макетов, тестов!

Все представлено в виде готового кода, бери и юзай в своем проекте.

По всем вопросам: @it_dashka
Реклама: https://telega.in/channels/frontend_dev5/card
Download Telegram
Дальше так не буду. Вот новый короткий тест, где верный вариант не самый длинный и не №2
Anonymous Quiz
39%
HSTS
11%
CSP
20%
X-Frame-Options
30%
Referrer-Policy
👏1
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Navicon Transformicons — 6 вариантов анимации бургер-кнопок.

Сделано на SCSS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
1
😁10👍3
Зачем используется метод setAttribute() в JavaScript и когда его применять?

Метод setAttribute() устанавливает или обновляет значение атрибута у HTML-элемента. Это удобно, когда нужно динамически менять параметры элементов — например, src, href, id или data-*.

Пример:

<img id="avatar" src="default.png" alt="Avatar">

<script>
const img = document.getElementById("avatar");
img.setAttribute("src", "user.png");
img.setAttribute("alt", "User photo");
</script>


📌В этом примере setAttribute() изменяет путь к изображению и описание

setAttribute() удобно использовать при работе с динамическим контентом, темизацией, lazy-loading изображений и управлением data-* атрибутами. Он даёт гибкий способ изменять DOM-структуру без прямого доступа к свойствам
Please open Telegram to view this post
VIEW IN TELEGRAM
1
В React есть огромный список (тысячи строк), но пользователю видны только ~20 в вьюпорте. Нужно снизить нагрузку на DOM и рендер.
Anonymous Quiz
16%
Мемоизировать каждый элемент через React.memo
6%
Класть список в Context
71%
Виртуализировать список (рендерить только видимую часть)
8%
Вынести состояние в Redux
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Card Hover Eeffect Left to right line — Анимированный эффект для карточек с появлением пояснительной информации.

Сделано на SCSS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужно отложить тяжёлый рендер вне экрана, но чтобы место под блок было зарезервировано и не было скачка макета (CLS). Что используешь?
Anonymous Quiz
38%
content-visibility: auto вместе с фиксированной aspect-ratio/высотой контейнера
30%
visibility: hidden
10%
display: none до скролла
22%
opacity: 0
⚙️ View Transitions API

Полистав различные ресурсы в Интернете и просмотрев множество видео по данной теме, я решил составить наиболее полную картину по данному, не побоюсь этого слова, революционному API, чтобы вы уже сегодня могли начать использовать его в своём проекте!


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Vertical menu with gooey effect — Вертикальное меню с липким эффектом наведения на вкладки.

Сделано на SCSS и JS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Нужно прогреть DNS+TLS к стороннему домену до запроса. Что поставить в <head>?
Anonymous Quiz
29%
dns-prefetch
26%
prefetch
29%
preconnect
16%
preload
⚙️ Делаем интерфейс дружелюбнее. Коллекция простых HTML/CSS лайфхаков

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


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Как надёжно определить, что страница восстановлена из bfcache (а не заново загружена)?
Anonymous Quiz
52%
pageshow с event.persisted === true
2%
load
29%
DOMContentLoaded
17%
visibilitychange при document.hidden === false
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Futuristic 3D hover Effect — Красивый эффект главной кнопки, которая дополнительно открывает другие.

Сделано на SCSS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Зачем используется метод append() в JavaScript и когда его применять?

Метод append() добавляет один или несколько элементов или текст в конец указанного DOM-элемента. Это современный и удобный способ динамически изменять содержимое страницы.

Пример:

<ul id="list"></ul>

<script>
const list = document.getElementById("list");
const newItem = document.createElement("li");
newItem.textContent = "Новый элемент";

list.append(newItem);
</script>


📌В этом примере append() добавляет новый элемент <li> в конец списка

append() удобно использовать при генерации списков, карточек, уведомлений и других динамических компонентов. В отличие от appendChild(), он может добавлять сразу несколько узлов или строки текста, что делает его более гибким
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужно подсветить карточку, когда её внутренняя кнопка в фокусе, без JS. Что использовать?
Anonymous Quiz
83%
:has(:focus)
7%
:parent
6%
:matches()
4%
Никак — только JS
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 3D Cover Flow — Анимированные карточки с интересным эффектом движения.

Сделано на SCSS и JavaScript


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Из браузера делаете CORS fetch к API; нужно, чтобы куки не отправлялись. Что выбрать?
Anonymous Quiz
15%
credentials: "omit"
10%
SameSite=Strict
37%
Referrer-Policy: no-referrer
37%
Cache-Control: no-store
⚙️ Топ 5 причин, когда JavaScript блокирует загрузку вашего сайта

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


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM