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

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

По всем вопросам: @it_dashka
Реклама: https://telega.in/channels/frontend_dev5/card
Download Telegram
⚙️ HTML- и CSS-советы для джуниор фронтенд-разработчиков

Расскажу, какие привычки в вёрстке улучшают код: семантика, читаемость, структура, трюки. Примеры и ссылки.


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Download the Matrix — Крайне стильная кнопка скачивания с анимацией при нажатии

Сделана на SVG, CSS и JavaScript


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Большой блок ниже фолда. Нужно ускорить первый рендер и не ухудшить CLS. Что применить?
Anonymous Quiz
32%
content-visibility: auto + contain-intrinsic-size
19%
will-change: opacity, transform
21%
visibility: hidden до прокрутки
27%
display: none до IntersectionObserver
⚙️ Циклы в JavaScript: полный обзор функции

Покажу, как гонять повторения в JS: for/while/do…while, for…of/for…in, break/continue, частые грабли и где что уместно. Мини-примеры, лайфхаки — и цикл не укусит.


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Нужно загрузить веб-шрифты с CDN быстро, без FOIT и с минимальным CLS. Что выбрать?
Anonymous Quiz
24%
Подключить через @import, оставить font-display:auto
58%
rel=preload as=font crossorigin + font-display:swap; выровнять метрики фолбэка
4%
font-display:block, без кеша
14%
Встроить шрифты base64 в CSS
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Card Mouse Hover Effect — Карточки с интересным эффектом при наведении

Сделаны на CSS и JavaScript


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

Свойство textContent позволяет получить или изменить только текстовое содержимое элемента, игнорируя HTML-теги. Это безопасный способ отобразить данные без риска вставки вредоносного кода.

Пример:

<div id="message"></div>
<script>
const box = document.getElementById("message");
box.textContent = "<strong>Привет!</strong>";
</script>


📌В этом примере textContent выведет строку <strong>Привет!</strong> как обычный текст, без интерпретации HTML.

textContent удобно использовать для вывода пользовательского ввода, динамических данных или сообщений, где важна безопасность. В отличие от innerHTML, оно исключает XSS-уязвимости и работает быстрее при массовых изменениях текста
Please open Telegram to view this post
VIEW IN TELEGRAM
В Web Component с открытым Shadow DOM внутри нажали кнопку. На document висит обычный click-слушатель (не capture). Что он увидит по умолчанию?
Anonymous Quiz
31%
Событие дойдёт; event.target — хост; в composedPath() будет внутренняя кнопка
37%
Событие не выйдет из тени — всплытие остановится на shadowRoot
21%
Дойдёт; event.target — реальная внутренняя кнопка
10%
Дойдёт только в capture, в bubble — нет
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Fancy wipe — Стильный текст с анимированным появлением

Сделан на чистом CSS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
Нужно хранить аутентификацию в SPA так, чтобы токен нельзя было украсть XSS и работало на поддоменах, при этом защититься от CSRF. Что выбрать?
Anonymous Quiz
12%
localStorage + Bearer в заголовке
66%
HttpOnly Secure cookie с Domain=.example.com, SameSite=Lax/Strict + CSRF-токен/Origin-проверка
15%
sessionStorage + Bearer
7%
Токен в URL-фрагменте (#token)
⚙️ Я запрещаю вам margin

Я показываю, почему выбраковываю margin: перехожу на gap, даю лишние обёртки ради независимости узлов. Итог — чище код и предсказуемые отступы. Будут примеры и возражения.


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Order button animation — Анимированная кнопка "Оформить заказ"

Сделана на CSS и JS


🔗 Открыть код
Please open Telegram to view this post
VIEW IN TELEGRAM
API-ответы должны приходить сразу, можно 30 с устаревшие с фоновым обновлением; при сетевой ошибке — использовать старый до 1 ч. Какие заголовки отдать?
Anonymous Quiz
4%
Cache-Control: max-age=0, must-revalidate
71%
Cache-Control: public, max-age=30, stale-while-revalidate=30, stale-if-error=3600
16%
Cache-Control: no-store, stale-while-revalidate=30
10%
Cache-Control: s-maxage=30, must-revalidate
⚙️ HTML и CSS осенью 2025. Эти новые фичи я рекомендую изучить прямо сейчас

Покажу свежие фишки HTML/CSS, которые уже поддерживаются: что они чинят, где применить, на что смотреть. Короткие примеры, ссылки и мои фавориты — чтобы выбрать, что копать глубже.


🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
Новый Service Worker установился, но пользователи видят старую версию до перезапуска вкладок. Как применить обновление сразу?
Anonymous Quiz
10%
Увеличить версию кеша и ждать
48%
Поставить Cache-Control: no-store на все ассеты
37%
Вызвать skipWaiting() и затем clients.claim()
6%
Понизить TTL у SW и перезагрузить страницу через таймер
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Morphing Submit Button — Анимированная кнопка загрузки после нажатия на "Submit"

Сделана на CSS, SVG и JavaScript


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

Свойство value позволяет получить или изменить текущее значение элементов форм — таких как <input>, <textarea> или <select>. Это основной способ работы с пользовательским вводом на стороне фронтенда.

Пример:

<input id="nameInput" type="text" placeholder="Введите имя">
<script>
const input = document.getElementById("nameInput");
input.value = "Alice"; // Установим значение

console.log(input.value); // Получим текущее значение ➜ "Alice"
</script>


📌В этом примере value сначала задаёт значение в поле ввода, а затем позволяет его прочитать.

value удобно использовать для работы с формами, валидацией, автозаполнением, поиска и динамического изменения данных. Это ключевой инструмент при создании интерактивных интерфейсов.
Please open Telegram to view this post
VIEW IN TELEGRAM
1