
DIGITAL EDITION
Белая Каска Journal
Журнальная лента новостей: главные материалы дня, аналитика и визуальные истории с мультимедийными вставками.
Главный материал

В центре внимания
Самое читаемое
Минстрой обновил методику расчёта сроков расселения
Просмотры: 10
Промышленные парки получат льготное кредитование
Просмотры: 10
В Москве стартовало строительство социального жилья
Просмотры: 10
Девелоперы сократили сроки ввода жилья в регионах
Просмотры: 10
«Москва-Сити» получит новый небоскрёб
Просмотры: 10
Суд вернётся к вопросу об активах VALO
Просмотры: 10
Суд вернется к вопросу об активах VALO
Просмотры: 10
«Москва-Сити» получит новый небоскреб
Просмотры: 10
Визуальные истории
Лента публикаций

reportError(): глобальные ошибки в мониторинг
Единый канал без throw в UI.
Читать далее
globalThis: один объект в ESM и classic script
Плагины и window без путаницы.
Читать далее
compositionstart/end: IME и кириллица в поиске
Не фильтровать на каждый keydown.
Читать далее
beforeinput: перехват paste в поле комментария
inputType insertFromPaste.
Читать далее
{ passive: true } на scroll/touch для INP
Не блокировать compositor.
Читать далее
Делегирование в capture-фазе для аналитики кликов
Один listener на document.
Читать далее
User activation: когда можно вызвать prompt
Notification, clipboard, popup.
Читать далее
navigator.inputPending: очередь ввода перед тяжёлым JS
Отложить работу, если пользователь печатает.
Читать далее
hardwareConcurrency: размер пула Web Workers
Не создавать 32 worker на 4 ядрах.
Читать далее
Cache API: офлайн-оболочка статики витрины
caches.open и versioning.
Читать далее
IndexedDB: versionchange и миграция схемы черновика
onupgradeneeded без потери данных.
Читать далее
Intl.PluralRules: «1 услуга» и «5 услуг» без if
Правильные формы числительных для ru.
Читать далее
Intl.ListFormat: теги и хлебные крошки одной строкой
conjunction и disjunction для UI.
Читать далее
Intl.DisplayNames: названия языков в переключателе
Локализованные подписи ru/en.
Читать далее
formatRange(): диапазон дат в брифе и расписании
«12–15 марта» одной строкой.
Читать далее
Temporal.PlainDate: дедлайны без timezone-багов
Календарные даты без Date.UTC ловушек.
Читать далее
PerformanceObserver: longtask и блокировка main thread
Найти тяжёлый JS на лендинге.
Читать далее
layout-shift: буфер CLS до отправки в аналитику
Суммировать сдвиги за сессию.
Читать далее
OffscreenCanvas: миниатюры в Web Worker
Ресайз без блокировки UI.
Читать далее
roundRect(): диаграммы в карточке без SVG-файла
Скруглённые столбики в Canvas 2D.
Читать далее
ResizeObserver: высота сайдбара и sticky оглавление
Реакция на смену ширины колонки.
Читать далее
MutationObserver: оглавление при динамических h2
TOC для контента из CMS.
Читать далее
CustomEvent: связать форму брифа и аналитику
Слабая связность модулей.
Читать далее
matchMedia + custom event: токены брейкпоинта в JS
Синхрон с CSS media queries.
Читать далее
AbortSignal.any(): отмена нескольких fetch разом
Таймаут + уход со страницы.
Читать далее
scheduler.yield(): отдать main thread между чанками
Плавный рендер длинного списка.
Читать далее
Permissions API: запрос push без навязчивого баннера
query() перед request().
Читать далее
IdleDetector: пауза карусели при бездействии
Экономия CPU и батареи.
Читать далее
img.decode(): показ без мерцания после load
Дождаться декодирования кадра.
Читать далее
scrollsnapchange: активный слайд без scroll listener
Событие для нативной карусели.
Читать далее
font-size-adjust: ровный текст при fallback-шрифте
Метрики x-height и cap height.
Читать далее
URLPattern: маршруты SPA без тяжёлого роутера
Сопоставление path и query в нативном API.
Читать далее
Cookie Store API: чтение и события смены сессии
Асинхронные cookie без document.cookie.
Читать далее
sendBeacon: метрика ухода со страницы без блокировки unload
Надёжная отправка при закрытии вкладки.
Читать далее
fetch keepalive: короткий ping при закрытии страницы
Когда beacon недостаточен.
Читать далее
visibilityState: пауза опроса API в фоновой вкладке
Меньше нагрузки и расхода батареи.
Читать далее
translate: отдельное свойство вместо transform
Композиция без конфликта rotate/scale.
Читать далее
rotate: CSS-спиннер без @keyframes на transform
animation на rotate отдельно от scale.
Читать далее
scale: тактильный отклик кнопки на :active
Press state без transform-строки.
Читать далее
clip-path: inset() — кадрирование hero без overflow
Маска прямоугольником и скруглением.
Читать далее
filter: url(#id) — SVG-фильтры с CSS fallback
Размытие и цветокор в одном компоненте.
Читать далее
scrollbar-gutter: stable both-edges — симметрия с двумя полосами
Центрированный контент при overlay scrollbar.
Читать далее
overscroll-behavior-x: contain на горизонтальной карусели
Жест не уходит в history back.
Читать далее![Превью новости: :modal — стили открытого dialog без [open]](/_next/image?url=https%3A%2F%2Fpusk-media.ru%2Fblog%2Fmodal-pseudo-backdrop-style-cover.png&w=3840&q=75)
:modal — стили открытого dialog без [open]
Псевдокласс для нативной модалки.
Читать далее
:popover-open + @starting-style: анимация tooltip
Без класса .is-visible в JS.
Читать далее
::picker(select): стили выпадающего списка
Кастомизация нативного select (где поддерживается).
Читать далее
field-sizing: fixed — стабильная высота поля брифа
Пара к content для textarea.
Читать далее
popover="hint": лёгкий превью без блокировки фокуса
Подсказки по hover/focus.
Читать далее
interest-delay: задержка превью карточки услуги
CSS Interest Invokers без случайных всплытий.
Читать далее
command="close" и invoker: закрытие dialog кнопкой
Декларативный invoker без querySelector.
Читать далее
requestSubmit(): отправка формы с валидацией
Программный submit без обхода проверок.
Читать далее
calc-size(): высота выпадашки от содержимого
Анимация height без JS-измерений.
Читать далее
overlay: auto и top layer для popover
Поверх шапки без z-index войны.
Читать далее
position-visibility: sticky header только когда виден
Скрыть липкую шапку у края scrollport.
Читать далее
scroll-state(): стили когда scroller «прилип»
Контейнерные запросы от скролла.
Читать далее
container-type: inline-size на карточке услуги
Брейкпоинт ширины карточки, не viewport.
Читать далее
@container style(--card: dark): тёмная карточка в светлой сетке
Style queries без класса .dark.
Читать далее
rel=expect: подсказка prefetch/prerender по ссылке
Новый hint для MPA.
Читать далее
Clear-Site-Data: выход из аккаунта без «залипших» cookie
HTTP-заголовок при logout.
Читать далее
dynamic-range: HDR hero-video на поддерживаемых экранах
Медиавыражение для яркого видео.
Читать далее
color-gamut: P3-градиент с sRGB fallback
Насыщенный бренд на wide-gamut дисплеях.
Читать далее
scripting: none — стили для <noscript> и прогрессивности
Отдельный вид без JS.
Читать далее
update: slow — отключить декоративные анимации
Экономия CPU на слабых устройствах.
Читать далее
::cue: брендовые субтитры в <video>
Стили WebVTT без JS.
Читать далее
select.showPicker(): нативный список стран на мобиле
Кастомная кнопка — системный picker.
Читать далее
anchor-scope: тултипы внутри секции
Имена anchor не конфликтуют.
Читать далее
timeline-range: entry 0% 100% для scroll-анимации
Точные фазы keyframes.
Читать далее
::scroll-marker:active — активная точка карусели
Стили текущего слайда.
Читать далее
view-transition-group: морфинг группы карточек
Несколько элементов — один transition.
Читать далее
Speculation Rules: prerender каталога с главной
JSON в <script type=speculationrules>.
Читать далее
Reporting-Endpoints и NEL: ошибки сети на сервер
Без костылей в onerror.
Читать далее
text-autospace: пробелы между CJK и латиницей
Автоматический «воздух» в смешанном тексте.
Читать далее
::scroll-marker: точки карусели на CSS
Скролл-контейнер и маркеры без JS.
Читать далее
scroll-start-target: якорь под фиксированное меню
Куда «приземляется» scrollIntoView.
Читать далее
timeline-scope: именованные scroll-timeline в компоненте
Изоляция анимации от скролла страницы.
Читать далее
position-try-fallbacks: тултип не уезжает за экран
Запасные позиции anchor positioning.
Читать далее
position-area: block-end для popover-меню
Куда встает выпадашка от кнопки.
Читать далее
toggle-group: только один открытый пункт FAQ
Аккордеон на HTML toggle.
Читать далее
popover=manual: карточка по hover без light dismiss
Когда не закрывать по клику снаружи.
Читать далее
rel=prefetch: следующая страница воронки
Лёгкий prefetch HTML на hover CTA.
Читать далее
FontFace API: подгрузка начертания после согласия
document.fonts.load без FOIT на всём сайте.
Читать далее
document.fonts.ready: не мерить текст до загрузки шрифта
Избежать скачка после measureText.
Читать далее
CSS Custom Highlight API: подсветка поиска на странице
Без обёртки в span.
Читать далее
::target-text: подсветка цитаты из URL hash
Text Fragments на стороне CSS.
Читать далее
font-size: round — шаговая fluid-типографика
Кегль по сетке 4px.
Читать далее
text-box-edge: trim-both в кнопках
Вертикальное центрирование подписи.
Читать далее
hyphenate-limit-chars: переносы в длинных русских словах
Минимум символов до и после дефиса.
Читать далее
math-depth: вложенные формулы в статье
Размер скобок и индексов в MathML.
Читать далее
overscroll-behavior-block: только вертикальный chaining
Модалка и вложенный скролл.
Читать далее
inverted-colors: UI при инверсии системных цветов
Не полагаться только на dark mode.
Читать далее
pagereveal: анимация при возврате из bfcache
View Transition на history back.
Читать далее
sizes="auto": браузер сам считает ширину для srcset
Меньше ошибок в sizes на адаптивных карточках.
Читать далее
Единица lh: line-height от размера шрифта элемента
Вертикальный ритм без магических rem.
Читать далее
Единица ch: ширина поля под PIN и код
Ровно 6 символов без guess в px.
Читать далее
text-wrap-style: stable — меньше «висячих» строк при вводе
Компаньон к balance и pretty.
Читать далее
word-break: keep-all — CJK и смешанный контент
Не рвать японские/китайские слова посередине.
Читать далее
text-rendering: geometricPrecision на мелких caps
Чёткость мелкого текста в SVG и UI.
Читать далее
font-kerning: normal на display-заголовках
Кернинг для крупного кегля.
Читать далее
unicode-range: дробление @font-face по алфавитам
Грузить только кириллицу или латиницу.
Читать далее
font-display: optional — ноль CLS, если шрифт не успел
Системный шрифт остаётся, если сеть медленная.
Читать далее
URLSearchParams: фильтры каталога в query string
Шаринг ссылки с выбранными тегами.
Читать далее
queueMicrotask: батч обновлений DOM после парсинга
Между task и requestAnimationFrame.
Читать далее
performance.mark и measure: кастомные этапы загрузки
От брифа до интерактива в RUM.
Читать далее
Client Hints: Sec-CH-Viewport-Width для CDN-картинок
Адаптивные изображения на edge.
Читать далее
Cross-Origin-Resource-Policy на статике
same-origin для шрифтов и JSON.
Читать далее
Storage Access API: cookies в iframe виджета
Запрос доступа после клика.
Читать далее
Web Locks API: один таб пишет в localStorage
Координатор между вкладками.
Читать далее
rel=license: ссылка на лицензию и оферту
Семантика юридических документов.
Читать далее
rel=help: ссылка на базу знаний студии
Подсказка для assistive tech.
Читать далее
<progress>: нативный бар загрузки файла
value и max без role=progressbar.
Читать далее
<search>: обёртка поиска по блогу
Семантика landmark для формы.
Читать далее
interpolate-size: плавное раскрытие аккордеона по высоте
Анимация height/auto без JS-измерений.
Читать далее
showPicker(): календарь и color picker из кода
Нативный UI выбора даты по клику на иконку.
Читать далее
dns-prefetch и preconnect: что подключать на витрине
Ранний DNS и TLS к CDN изображений.
Читать далее
Permissions-Policy: отключить camera, mic и payment
Заголовок и iframe allow=.
Читать далее
Web Share API: «Поделиться кейсом» на мобиле
navigator.share без своих модалок.
Читать далее
IntersectionObserver: блок «увидели» без scroll-спама
threshold и rootMargin для баннеров.
Читать далее
Constructable Stylesheets: стили виджета без дублирования
adoptedStyleSheets в Shadow DOM.
Читать далее
contain: layout paint — изоляция тяжёлой секции
Меньше перерасчёта всей страницы.
Читать далее
mask-composite: градиентный край горизонтальной ленты
Подсказка «есть ещё карточки» без PNG.
Читать далее
background-blend-mode: multiply на hero с фото
Текст читаем без сплошного затемнения.
Читать далее
transform-style: preserve-3d — flip карточки услуги
Перед/зад без библиотек.
Читать далее
grid-template-columns: repeat(auto-fit, minmax())
Сетка услуг без брейкпоинтов.
Читать далее
Синтаксис range в @media: width >= 768px
Читаемые media queries Level 4.
Читать далее
linear() easing: кастомная кривая без cubic-bezier
Пружинные микровзаимодействия в CSS.
Читать далее
steps() и @keyframes: ступенчатый прогресс загрузки
Дискретная анимация без SVG.
Читать далее
tabindex="0" на кастомной кнопке-div
Когда нельзя использовать <button>.
Читать далее
download: имя файла PDF-брифа при сохранении
Атрибут download на ссылке.
Читать далее
autocomplete=one-time-code: SMS-код в форме
Автоподстановка OTP с клавиатуры.
Читать далее
<cite>: ссылка на источник в статье блога
Семантика цитирования.
Читать далее
<address>: контакты студии и LocalBusiness
Семантика футера.
Читать далее
:has() — стили родителя от состояния потомка
Карточка с выбранным чекбоксом без JS.
Читать далее
accent-color: цвет чекбоксов и range в бренде
Нативные контролы без полной перерисовки.
Читать далее
@starting-style: плавное появление модалки
Первый кадр анимации без flash.
Читать далее
scroll-snap-type: карусель отзывов без Swiper
x mandatory и scroll-snap-align.
Читать далее
text-wrap: balance — ровные заголовки в две строки
Меньше «висячих» коротких строк.
Читать далее
text-wrap: pretty — читабельные абзацы в кейсах
Меньше одиночных слов в последней строке.
Читать далее
Container queries: карточка услуги по ширине блока
@container и cqi вместо только media.
Читать далее
contain-intrinsic-size: место под скелетон галереи
Меньше скачка CLS при lazy images.
Читать далее
content-visibility: auto на длинной ленте блога
Браузер не рисует off-screen карточки.
Читать далее
CSS anchor positioning: тултип у кнопки без Popper
position-anchor и inset-area.
Читать далее
Scroll-driven animations: прогресс-бар чтения статьи
animation-timeline: scroll().
Читать далее
View Transitions API: мягкая смена темы оформления
document.startViewTransition.
Читать далее
importmap: алиасы модулей без сборщика на лендинге
Карта bare-specifier → URL.
Читать далее
rel=modulepreload: ранний fetch критичного чанка
Сократить задержку до интерактива.
Читать далее
loading=lazy на iframe карты после согласия
Карта только после cookie-баннера.
Читать далее
user-select: none на кнопках и чипах
Меньше случайного выделения текста.
Читать далее
touch-action: pan-y в галерее с горизонтальным свайпом
Жесты без конфликта со скроллом страницы.
Читать далее
color-scheme: dark на форме в тёмной теме
Нативные поля и скроллбары.
Читать далее
tab-size: 2 в блоке кода брифа
Табы в pre без разъезда сетки.
Читать далее
scrollbar-gutter: stable — шапка без сдвига
Резерв полосы прокрутки.
Читать далее
<title> и <desc> в SVG: доступность инфографики
Скринридеры и длинные диаграммы.
Читать далее
<use> и SVG-sprite: одна иконка — много размеров
symbol + href без дублирования path.
Читать далее
aria-describedby: связать поле с текстом ошибки
id подсказки и сообщения валидации.
Читать далее
aria-labelledby: заголовок модалки из DOM
dialog и drawer без дублирования.
Читать далее
aria-expanded: аккордеон и выпадающее меню
true/false на кнопке-триггере.
Читать далее
aria-controls: какая панель открыта кнопкой
id панели табов и меню.
Читать далее
aria-pressed: toggle-кнопки фильтров
Включён / выключён без checkbox.
Читать далее
popovertarget: нативная кнопка для Popover API
Без лишнего JS для меню.
Читать далее
commandfor и command: Invoker Commands без скрипта
Кнопка закрывает dialog декларативно.
Читать далее
interesttarget и CSS : interest-invokers превью
Подсказка по hover/focus без JS.
Читать далее
nth-of-type и nth-child: когда какой считать
Зебра в таблице и лишние div в grid.
Читать далее![Превью новости: Селекторы по атрибуту: [data-state] в UI-kit](/_next/image?url=https%3A%2F%2Fpusk-media.ru%2Fblog%2Fattribute-selector-data-css-cover.png&w=3840&q=75)
Селекторы по атрибуту: [data-state] в UI-kit
Стили без десятка классов.
Читать далее
<ins> и <del>: правки текста и юридические версии
Семантика вместо зачёркивания span.
Читать далее
<template>: клон карточки без innerHTML
DocumentFragment для списка кейсов.
Читать далее
<slot>: композиция в Web Components лендинга
Именованные слоты в UI-kit.
Читать далее
format-detection: отключить авто-ссылки телефонов на iOS
telephone=no в корпоративных номерах.
Читать далее
theme-color: цвет строки браузера и PWA
Светлая и тёмная тема в meta.
Читать далее
invoketarget: привязка кнопки к панели действий
Декларативные invokers в 2026.
Читать далее
hidden="until-found": раскрытие из поиска на странице
Find in page открывает details.
Читать далее
<ruby>: руби и транскрипция для иностранных терминов
rt поверх базового текста.
Читать далее
<embed>: встраивание PDF и плеера с fallback
Когда iframe предпочтительнее.
Читать далее
<object>: PDF в странице кейса с data и type
Вложенный fallback внутри object.
Читать далее
<canvas>: простой график без тяжёлой библиотеки
2D API и доступность.
Читать далее
<noscript>: сообщение при отключённом JavaScript
Форма и аналитика без JS.
Читать далее
meta viewport: width=device-width и maximum-scale
Почему не отключать зум.
Читать далее
link rel=manifest: иконки и имя PWA студии
Web App Manifest JSON.
Читать далее
rows и cols на textarea: стартовый размер брифа
CSS height важнее cols.
Читать далее
input type=search: поиск по блогу студии
search и role=search.
Читать далее
input type=reset: очистка черновика формы
Когда лучше своя кнопка.
Читать далее
type=submit и Enter: отправка формы с клавиатуры
Один submit на form.
Читать далее
method="get": фильтры каталога в URL
Индексируемые параметры и закладки.
Читать далее
autofocus: ускорение ввода и риск для a11y
Когда уместен на лендинге.
Читать далее
readonly vs disabled: просмотр и блокировка поля
Tab order и отправка формы.
Читать далее
required: HTML5-валидация до submit
Сообщения и aria-invalid.
Читать далее
:nth-child(even): зебра в таблице тарифов
odd, even и an+b.
Читать далее
:first-child и :last-child: скругления в ряду карточек
Отличие от first-of-type.
Читать далее
:only-child: одна карточка в сетке по центру
Центрирование без JS.
Читать далее
target=_blank без window.opener: rel=noopener
tabnabbing и noreferrer.
Читать далее
@media print: стили для PDF и печати КП
Скрыть nav, показать URL.
Читать далее
page-break-before: каждый кейс с новой страницы
break-before: page в CSS.
Читать далее
<samp>: вывод терминала и пример ответа API
Семантика sample output.
Читать далее
<pre> и <code>: блок кода в статье блога
Сохранение пробелов и экранирование.
Читать далее
<code>: имя файла и CSS-свойство в абзаце
Inline без pre.
Читать далее
<var>: переменная в формуле калькулятора на сайте
Математические и шаблонные подстановки.
Читать далее
<q>: короткая цитата внутри предложения
cite и кавычки локали.
Читать далее
<small>: мелкий дисклеймер под формой
Не для SEO-мелкого шрифта.
Читать далее
<wbr>: точка переноса в длинном URL
Мягкий перенос без дефиса.
Читать далее
<bdo dir="rtl">: принудительное направление фрагмента
Отличие от bdi и dir на блоке.
Читать далее
<strong>: важность, а не просто жирный
strong vs b и font-weight.
Читать далее
<em>: акцент в предложении, не курсив декора
em vs i.
Читать далее
<source> в <picture>: art direction для hero
media и type для AVIF/WebP.
Читать далее
<track kind="captions">: субтитры к корпоративному ролику
WebVTT и default.
Читать далее
<colgroup> и <col>: ширина колонок прайса
span и style на col.
Читать далее
scope="col" и scope="row" в <th>
Заголовки для скринридеров.
Читать далее
rowspan и colspan: объединённые ячейки в смете
Когда не злоупотреблять.
Читать далее
<meta charset="utf-8">: первая строка head
Кириллица без кракозябр.
Читать далее
link rel="author": страница автора статьи
E-E-A-T и подпись эксперта.
Читать далее
<meta name="referrer">: политика по умолчанию для сайта
strict-origin-when-cross-origin.
Читать далее
type на <ul>: маркеры списка услуг
disc, circle, square и CSS list-style.
Читать далее
start на <ol>: продолжить нумерацию после вставки
Шаг 5 после рекламного блока.
Читать далее
<meter>: индикатор заполненности без progress
min, max, value и low/high/optimum.
Читать далее
<cite>: ссылка на источник цитаты и исследования
Не путать с <blockquote> и URL.
Читать далее
<dfn>: термин в глоссарии услуг студии
Первое определение термина на странице.
Читать далее
<hr>: тематический разрыв между блоками лендинга
Не декоративная линия border-top.
Читать далее
reversed на <ol>: обратный рейтинг топ-10
Счётчик с 10 до 1 без ручной нумерации.
Читать далее
sandbox на iframe: встраивание карт и виджетов
Минимальные разрешения для чужого HTML.
Читать далее
name на <details>: только один открытый пункт FAQ
Аккордеон без JavaScript.
Читать далее
<map> и <area>: кликабельные зоны на инфографике
coords, shape и alt на каждой зоне.
Читать далее
poster и preload на <video>: hero без автоплея
metadata, none и первый кадр.
Читать далее
<audio controls>: подкаст студии без плеера-виджета
controlslist и несколько source.
Читать далее
loading="lazy": изображения ниже первого экрана
Не lazy на LCP-hero.
Читать далее
width и height на <img>: резерв места против CLS
Соотношение сторон до загрузки файла.
Читать далее
hyphens: auto и lang для переносов в узких колонках
lang=ru и overflow-wrap.
Читать далее
translate="no": не переводить название студии машинно
notranslate для логотипа в тексте.
Читать далее
dir="rtl": вставка арабской цитаты в русский текст
ltr, rtl и auto на блоке.
Читать далее
data-*: хуки для JS без классов-мешалок
data-action, data-id в UI-kit.
Читать далее
role="img" и alt: декоративная иконка vs смысл
aria-label на SVG-спрайте.
Читать далее
elementtiming: пометить LCP-элемент для RUM
Атрибут на hero-img.
Читать далее
fetchpriority="low": декор ниже fold не конкурирует с LCP
Пара к high на hero.
Читать далее
field-sizing: content — textarea растёт с текстом брифа
Нативный autosize без JS.
Читать далее
<dialog>: нативное модальное окно без библиотеки
showModal, ::backdrop и фокус-ловушка из коробки.
Читать далее
<template>: шаблон карточки без innerHTML
Клонирование узлов для списка кейсов.
Читать далее
<time datetime>: дата публикации для людей и машин
ISO-8601 в атрибуте и человекочитаемый текст.
Читать далее
hidden и aria-hidden: когда что скрывать
Визуально vs для assistive tech.
Читать далее
spellcheck: орфография в textarea брифа
Когда включать и когда spellcheck=false.
Читать далее
autocomplete: подсказки браузера для CRM-полей
name, email, organization из токенов HTML.
Читать далее
inputmode: правильная клавиатура на смартфоне
numeric, tel, email без смены type.
Читать далее
enterkeyhint: подпись Enter на мобильной клавиатуре
send, next, search в многошаговой форме.
Читать далее
novalidate: когда HTML5-валидация мешает UX
Клиентские подсказки vs единый ответ сервера.
Читать далее
formaction и formmethod: две кнопки — два сценария
Сохранить черновик vs отправить заявку.
Читать далее
aspect-ratio: стабильные превью кейсов и видео
16/9 и 4/3 без padding-hack.
Читать далее
object-fit и object-position: кадрирование hero
cover, contain и фокус на лице.
Читать далее
gap в Grid и Flex: единые отступы сетки
Без margin на каждой карточке.
Читать далее
Logical properties: margin-inline в RTL и LTR
inline, block вместо left/right.
Читать далее
clamp(): плавная типографика hero без 10 media queries
Минимум, предпочтение и максимум в одной строке.
Читать далее
overscroll-behavior: скролл не «протекает» под модалку
contain на body при открытом drawer.
Читать далее
touch-action: жесты карусели vs вертикальный скролл
pan-x на слайдере отзывов.
Читать далее
tabindex: 0, -1 и ловушка фокуса без ошибок
Когда не ставить положительный tabindex.
Читать далее
aria-live: тост «Заявка отправлена» для скринридеров
polite vs assertive.
Читать далее
<sub> и <sup>: индексы, м² и сноски в прайсе
Семантика вместо font-size хака.
Читать далее
<aside>: боковая колонка и complementary landmark
Когда aside уместен, а когда нет.
Читать далее
<section> vs <article>: границы блоков на лендинге
Когда нужен заголовок секции.
Читать далее
<header>: шапка сайта и header внутри article
banner landmark не один на весь дом.
Читать далее
<footer>: юридические ссылки и contentinfo
footer в section и глобальный footer.
Читать далее
<address>: контакты студии только для контактов
Не для любого адреса в тексте.
Читать далее
<blockquote> и cite: цитата клиента с источником
footer внутри blockquote и отзывы.
Читать далее
<abbr title="...">: расшифровка ООО и KPI при наведении
Первое упоминание с title, дальше без.
Читать далее
<kbd>: сочетания клавиш в документации продукта
Ctrl+S и семантика клавиш.
Читать далее
<mark>: подсветка результата поиска на странице
Не путать с выделением «важно».
Читать далее
<del> и <ins>: старая и новая цена в акции
Семантика изменения, не только зачёркивание.
Читать далее
<bdi>: изоляция направления в имени пользователя
Арабские и латинские ники в одной строке.
Читать далее
<optgroup>: группы в select для категорий услуг
label на группу, не на option.
Читать далее
enctype multipart/form-data: загрузка файлов в заявке
Когда нужен multipart и лимиты сервера.
Читать далее
accept на input file: только PDF и изображения
MIME и расширения в диалоге выбора.
Читать далее
capture на input file: камера на мобильном
user vs environment для селфи и документов.
Читать далее
label for= и id: клик по подписи фокусирует поле
Связь label с input и чекбоксами.
Читать далее
pattern в input: regex для телефона и ИНН
Клиентская валидация и :invalid.
Читать далее
minlength и maxlength: длина пароля и промокода
Отличие от size и визуальной ширины.
Читать далее
multiple на file: несколько референсов в брифе
Массив файлов в FormData.
Читать далее
grid-row: span 2 — высокая промо-ячейка в каталоге
Вертикальный span без лишних обёрток.
Читать далее
animation-delay: каскадное появление карточек
Ступени 50ms без JS-библиотек.
Читать далее
grid-area: именованные зоны header–main–footer
Сокращение для grid-template-areas.
Читать далее
align-content: space-between в футере на всю высоту
Когда grid/flex контейнер выше контента.
Читать далее
justify-content: space-between в шапке лендинга
Логотип слева, меню и CTA справа.
Читать далее
flex-direction: row-reverse для панели действий
Порядок кнопок без изменения DOM.
Читать далее
flex-wrap: wrap для облака тегов и фильтров
gap вместо margin на каждом чипе.
Читать далее
order в flex: визуальный порядок табов осторожно
Почему order ломает tab order.
Читать далее
min-height: 0 — внутренний скролл в flex-layout
Почему overflow не работает в flex-child.
Читать далее
min-width: 0 и text-overflow в flex-строке
Ellipsis в карточке с иконкой и кнопкой.
Читать далее
box-sizing: border-box на :root и расчёт ширины
Почему padding не раздувает 100% width.
Читать далее
overflow-x: auto — горизонтальный скролл таблицы сметы
Обёртка .table-scroll и focus внутри.
Читать далее
overflow-y: auto в drawer с фиксированной шапкой
flex column + min-height 0 на теле панели.
Читать далее
overflow-clip-margin: focus ring не обрезается
outline за пределами overflow:hidden.
Читать далее
scroll-padding-inline: отступ snap у краёв карусели
Первый и последний слайд не прилипают к краю.
Читать далее
scroll-snap-align: start для ленты карточек
center vs start на разных брейкпоинтах.
Читать далее
touch-action: manipulation — убрать задержку 300ms
На кнопках и ссылках лендинга.
Читать далее
<nav> и aria-label: несколько навигаций на сайте
Главное меню vs футер vs хлебные крошки.
Читать далее
<main>: один главный landmark на страницу
skip-link и повторное использование в SPA.
Читать далее
link rel=prev и next: пагинация блога для роботов
Серия статей и архив по страницам.
Читать далее
<base target="_blank">: когда не стоит глобально открывать вкладки
Локальный target на внешних ссылках.
Читать далее
::backdrop у <dialog>: blur, затемнение и pointer-events
Стилизация фона без второго div.overlay.
Читать далее
view-transition-class: именованные переходы между страницами
Разные анимации для hero и списка карточек.
Читать далее
@supports: progressive enhancement без User-Agent
not(), and и запасной layout.
Читать далее
attr(): подписи тултипов из data-* без дублирования текста
content: attr(data-tip) и ограничения.
Читать далее
unicode-bidi: plaintext в чате и комментариях
Смешанный RTL/LTR без поломки порядка символов.
Читать далее
direction: rtl на документе и зеркалирование иконок
logical properties вместо left/right.
Читать далее
CSS columns: FAQ в две колонки на десктопе
column-count, gap и break-inside.
Читать далее
break-before: page — новая страница PDF для раздела КП
Печать коммерческого предложения по главам.
Читать далее
break-after: avoid — заголовок не остаётся внизу страницы один
Висячие заголовки в печати и PDF.
Читать далее
@page margin: поля листа для печати брендбука
size, margin и счётчики страниц.
Читать далее
animation-composition: replace и слои keyframes
Когда add ломает transform, а replace — нет.
Читать далее
cubic-bezier: кривые easing из дизайн-токенов
Отличие ease-out от custom bezier.
Читать далее
steps(): пошаговая анимация прогресс-бара
steps(4, end) для дискретного loader.
Читать далее
animation-fill-mode: forwards — финальный кадр остаётся
both, backwards и одноразовые entrance.
Читать далее
animation-play-state: пауза hero-анимации вне viewport
paused при document.hidden и Intersection Observer.
Читать далее
interactive-widget в viewport: клавиатура не ломает 100vh
resizes-content vs overlays-content на Android.
Читать далее
link rel=alternate type=application/rss+xml для блога
RSS в <head> и подписчики.
Читать далее
link rel=canonical: одна главная URL при параметрах UTM
Абсолютный href и self-referencing.
Читать далее
атрибут download: скачать PDF КП с понятным именем
download="KP-2027.pdf" и same-origin.
Читать далее
атрибут ping: фоновый POST при клике по ссылке
Когда уместен и почему часто отключают.
Читать далее
box-decoration-break: clone — градиент на многострочной кнопке
Когда фон и border повторяются на каждой строке.
Читать далее
background-clip: text — градиентный заголовок без картинки
text-fill-color transparent и контраст.
Читать далее
background-origin: где начинается фон кнопки
padding-box vs border-box для иконок в border.
Читать далее
text-emphasis: акцентная точка над словом в промо
Альтернатива подчёркиванию для восточной типографики и декора.
Читать далее
line-break: strict и переносы вокруг пунктуации
Когда strict лучше auto для русского UI.
Читать далее
font-palette: палитры цветных COLRv1-шрифтов
Переключение палитры emoji и display-шрифта в CSS.
Читать далее
block-size: логическая высота блока и RTL
Вместо height при мультиязычном шаблоне.
Читать далее
inline-size: ширина sidebar и max-width карточки
min() с inline-size и fr в grid.
Читать далее
inset: logical сокращение для fixed overlay
inset-block и inset-inline в drawer.
Читать далее
display: flow-root — clearfix без псевдоэлементов
BFC для обтекания float в старых блоках CMS.
Читать далее
display: contents в grid: когда ломается доступность
Почему обёртка исчезает для скринридера.
Читать далее
<figure> и <figcaption>: подписи к кейсам и скриншотам
Семантика вместо div.caption.
Читать далее
script type=module и defer: порядок загрузки бандла
ES modules по умолчанию defer.
Читать далее
rel=preload для WOFF2: шрифт без блокировки текста
as=font, crossorigin и font-display.
Читать далее
integrity (SRI): проверка CDN-скрипта по хешу
Subresource Integrity для analytics и виджетов.
Читать далее
referrerpolicy: что утекает в Referer на внешние ссылки
strict-origin-when-cross-origin и no-referrer.
Читать далее
decoding=sync на LCP-изображении hero
Когда sync оправдан, а когда async.
Читать далее
sizes в srcset: как браузер выбирает ширину кадра
Медиа-условия и w-дескрипторы без лишних килобайт.
Читать далее
margin-block: вертикальный ритм секций без margin-top/bottom
margin-block-end между блоками лендинга.
Читать далее
overscroll-behavior-inline: горизонтальная лента и жест «назад»
contain на оси X для карусели отзывов.
Читать далее
text-rendering: optimizeLegibility в UI и longread
Кернинг, лигатуры и цена отрисовки мелкого текста.
Читать далее
text-size-adjust: iOS не раздувает шрифт в landscape
-webkit-text-size-adjust и доступность.
Читать далее
max-inline-size и единица ch: оптимальная длина строки
65–75 символов без magic number в px.
Читать далее
isolation: isolate — свой stacking context без z-index войны
Модалка, тултип и hero-слои.
Читать далее
overflow-anchor: стабильный скролл при подгрузке ленты
Почему страница «прыгает» при вставке контента сверху.
Читать далее
contain: paint — отсечение теней и blur внутри карточки
Перфоманс и визуальные артефакты overflow.
Читать далее
visibility: hidden vs display: none и skip-link
Что остаётся в tab order и для скринридеров.
Читать далее
pointer-events: none на оверлеях и декоре
Клики проходят к кнопке под градиентом.
Читать далее
user-select: none на кнопках и чипах
Случайное выделение текста при double-tap.
Читать далее
cursor: grab и grabbing для drag-скролла
Подсказка жеста без лишнего JS-курсора.
Читать далее
repeat(auto-fill, minmax()): адаптивная сетка без media queries
Карточки услуг от 280px без десятка брейкпоинтов.
Читать далее
grid-auto-rows: min-content и выравнивание рядов каталога
Когда строки не должны растягиваться по самой высокой карточке.
Читать далее
place-self: центрирование кнопки в ячейке grid
Сокращение align-self и justify-self.
Читать далее
border-spacing: «карточные» ячейки таблицы сметы
separate + spacing вместо collapse.
Читать далее
caption-side: заголовок таблицы сверху для скринридеров
<caption> и порядок объявления.
Читать далее
empty-cells: hide в календарных и сводных таблицах
Пустые ячейки без рамки.
Читать далее
filter: brightness() на hover карточки портфолио
Лёгкий эффект без отдельного hover-кадра.
Читать далее
meta robots: max-snippet и контроль сниппета в поиске
Когда урезать описание в SERP.
Читать далее
link rel=icon: SVG favicon и mask-icon для вкладки
Один вектор + fallback PNG.
Читать далее
<picture>: AVIF, WebP и JPEG fallback для кейсов
Формат по поддержке без лишнего веса.
Читать далее
tab-size: выравнивание вставок кода в статьях блога
Пробелы vs табы в pre и monospace-блоках.
Читать далее
white-space: nowrap для бейджей и меток статуса
Когда nowrap спасает, а когда ломает мобильную вёрстку.
Читать далее
word-spacing: разрядка в display-заголовках hero
em и px — осторожно с кириллицей.
Читать далее
text-overflow: ellipsis в узком меню и таблицах
Три свойства: overflow, white-space, text-overflow.
Читать далее
scroll-behavior: smooth и якоря с prefers-reduced-motion
Плавный скролл к #section без библиотек.
Читать далее
resize: vertical — textarea в форме брифа
none, both и UX админки.
Читать далее
vertical-align: иконка рядом с текстом кнопки
middle, text-bottom и inline-flex альтернатива.
Читать далее
table-layout: fixed — колонки прайса одинаковой ширины
fixed vs auto и переносы в ячейках.
Читать далее
border-collapse: collapse в таблицах сметы
collapse vs separate и зазоры между ячейками.
Читать далее
flex-grow и flex-shrink: футер внизу короткой страницы
Sticky footer на flex без min-height: 100vh хаков.
Читать далее
text-indent: красная строка в longread без лишнего <p>
Когда уместен отступ первой строки и как не сломать списки.
Читать далее
align-self: выравнивание одной карточки в grid-ряду
start, end, stretch — когда CTA прижать к низу.
Читать далее
letter-spacing: трекинг в меню и капслок-навигации
em vs px и читаемость мелкого uppercase.
Читать далее
grid-column: span 2 — промо-баннер на всю ширину сетки
span, line names и адаптив на одну колонку.
Читать далее
text-transform: uppercase без капса в разметке
CSS transform vs реальные заглавные в SEO и скринридерах.
Читать далее
position: sticky для табов и фильтров каталога
top, z-index и родитель с overflow hidden.
Читать далее
font-kerning: плотность пар букв в display-заголовках
normal, auto, none и variable fonts.
Читать далее
Top layer: dialog, popover и почему z-index: 9999 не нужен
Нативные модалки поверх всего документа.
Читать далее
font-stretch: condensed для узких колонок прайса
Узкие цифры в таблице без смены гарнитуры.
Читать далее
:popover-open — стили открытого tooltip без класса .is-open
Селектор состояния и анимация входа.
Читать далее
backface-visibility: flip-карточка услуги без WebGL
3D transform и скрытие обратной стороны.
Читать далее
<progress> и <meter>: индикаторы загрузки и KPI
Семантика vs div.progress-bar.
Читать далее
transform-origin: масштаб модалки из кнопки-триггера
top left vs center и UX открытия.
Читать далее
<time datetime>: даты статей и Schema-friendly разметка
ISO 8601 в атрибуте и человекочитаемый текст.
Читать далее
margin-trim: схлопывание внешних отступов в карточках
block-start и block-end без лишнего зазора в stack.
Читать далее![Превью новости: Селекторы [data-state]: стили без десятка классов](/_next/image?url=https%3A%2F%2Fpusk-media.ru%2Fblog%2Fdata-attribute-selektory-cover.png&w=3840&q=75)
Селекторы [data-state]: стили без десятка классов
data-ui, data-open и BEM вместе.
Читать далее
border-image: градиентная рамка без лишнего wrapper
slice, source и совместимость с border-radius.
Читать далее
min(), max() и clamp() для отступов секций лендинга
fluid spacing без десятка media queries.
Читать далее
outline-offset: кольцо фокуса вне кнопки
Дополнение к :focus-visible в UI-kit.
Читать далее
print-color-adjust: exact для логотипа в PDF
Цвета бренда при печати коммерческого предложения.
Читать далее
Стили autofill: как не ломать бренд на жёлтом фоне Chrome
:-webkit-autofill, box-shadow hack и transition-delay.
Читать далее
caret-animation: мигание курсора и акцент бренда в input
Управление blink без GIF и лишнего JS.
Читать далее
text-align-last: выравнивание последней строки абзаца
justify с ровным «хвостом» в двухколоночном тексте.
Читать далее
hanging-punctuation: кавычки и тире за край колонки
«Ёлочки» и длинное тире в editorial-вёрстке блога.
Читать далее
quotes в CSS: типографские кавычки для cite и blockquote
open-quote, close-quote и локаль ru.
Читать далее
:lang(ru) и :lang(en): точечные правки без дублирования CSS
Шрифт, кернинг и переносы по языку страницы.
Читать далее
:dir(rtl) и логические свойства для двуязычного футера
margin-inline вместо margin-left при арабской локали.
Читать далее
image-rendering: crisp-edges для пиксель-арт и логотипов
pixelated vs auto на Retina без мыла.
Читать далее
filter: drop-shadow vs box-shadow на карточках
Тень по контуру PNG и производительность.
Читать далее
passive: true на scroll/touch — плавный скролл лендинга
Когда слушатель не должен вызывать preventDefault.
Читать далее
:user-valid и :user-invalid: стили полей до submit
Нативная валидация без красной рамки на каждом keyup — только после взаимодействия.
Читать далее
FormData и multipart: заявка с файлами без стороннего uploader
fetch POST, поля брифа и вложения PDF в одном запросе.
Читать далее
:in-range и :out-of-range для слайдеров цены и дат
Визуальная подсказка, когда значение вне min/max без JS.
Читать далее
ReadableStream: потоковый ответ API и чат на сайте
response.body.getReader и декодирование чанков.
Читать далее
:indeterminate: «выбрать все» в таблице заказов
Состояние минус в header checkbox и синхронизация с JS.
Читать далее
URL.revokeObjectURL: не копите blob-URL в SPA
Превью загрузки и утечки памяти на длинной сессии.
Читать далее
:read-only и :read-write: режим просмотра профиля
Один компонент поля — два визуальных режима без дублирования разметки.
Читать далее
navigator.onLine и события online/offline: баннер «Нет сети»
Не путать с реальной доступностью API.
Читать далее
::file-selector-button: брендовая кнопка «Выбрать файл»
Стилизация нативного input[type=file] без скрытия accessibility.
Читать далее
Page Visibility API: пауза видео и аналитики в фоновой вкладке
document.visibilityState и экономия батареи.
Читать далее
@media (hover: none): UI без hover-only подсказок
Тултипы по тапу, а не только mouseenter на планшетах.
Читать далее
PerformanceNavigationTiming: TTFB и тип навигации в RUM
navigate, reload, back_forward и responseStart.
Читать далее
@media (pointer: coarse): зоны нажатия от 44×44 px
Чекбоксы, иконки корзины и меню-burger для пальца.
Читать далее
Partitioned cookies (CHIPS): embed и третьи стороны в 2026
Set-Cookie Partitioned и виджеты на лендинге.
Читать далее
display-mode: standalone — отличия PWA от вкладки браузера
CSS-хуки, safe-area и навигация без URL-bar.
Читать далее
Form-associated custom elements: свои input в design system
attachInternals, validity и submit как у нативных полей.
Читать далее
navigator.storage.estimate(): квота PWA и предупреждение пользователю
usage, quota и очистка кеша офлайн-контента.
Читать далее
Roving tabindex: клавиатурное меню и таббар без ловушек
Стрелки влево-вправо и один tab stop на группу.
Читать далее
Cache Storage API: версии офлайн-страниц и инвалидация
caches.open, match и стратегия stale-while-revalidate.
Читать далее
Декоративный SVG: aria-hidden и role=presentation
Когда иллюстрация не должна озвучиваться скринридером.
Читать далее
Clipboard API writeText: копирование промокода в один тап
Secure context, fallback и обратная связь «Скопировано».
Читать далее
enterkeyhint: подпись Enter на мобильной клавиатуре
search, go, send и форма поиска по сайту.
Читать далее
Событие scrollend: подгрузка ленты без лишних запросов
Отличие от scroll и debounce на inertia scrolling.
Читать далее
autocapitalize: имена в форме заявки на iOS
words, characters, sentences — что выбрать для полей.
Читать далее
view-transition-name: плавная смена карточки в SPA-каталоге
Shared element transition без тяжёлой библиотеки анимаций.
Читать далее
Элемент <search>: семантика блока поиска в 2026
Замена div.search и landmark для assistive tech.
Читать далее
random() в CSS: лёгкая вариативность декора без JS
Разброс задержек анимации и углов в фоновом паттерне.
Читать далее
<output>: живой расчёт стоимости в конфигураторе
for, name и связь с range/input.
Читать далее
closedby на dialog: light dismiss и закрытие по backdrop
Атрибут closedby=any vs closerequest и доступность.
Читать далее
fieldset и legend: группы полей в длинной форме заказа
Доставка, оплата и контакты без хаоса label.
Читать далее
history.scrollRestoration = manual в SPA
Контроль позиции скролла при back/forward в React Router.
Читать далее
rel="sponsored" и ugc: исходящие ссылки с лендинга
Когда помечать партнёрские и пользовательские URL.
Читать далее
Text Fragments: ссылка на абзац статьи (#:~:text=)
Подсветка цитаты при переходе из рассылки и соцсетей.
Читать далее
crossorigin на img и link: CORS для canvas и шрифтов
anonymous vs use-credentials и tainted canvas.
Читать далее
meta theme-color: цвет строки состояния под бренд
Светлая и тёмная тема в одном manifest.
Читать далее
blocking=render на link: отложить некритичный CSS
Когда не блокировать первый рендер стилями.
Читать далее
prefers-reduced-transparency: вместо стекла — плотный фон
backdrop-filter off при системной настройке iOS.
Читать далее
aria-current: page в хлебных крошках и табах
step, location, true — что выбрать.
Читать далее
::selection: выделение текста в цветах бренда
Контраст highlight и читаемость в longread.
Читать далее
spellcheck в CMS: орфография в textarea редактора
Когда включать false для кода и slug.
Читать далее
WebAuthn и passkeys: вход без пароля на корпоративном портале
FIDO2, платформенные ключи и что закладывать в UX восстановления доступа.
Читать далее
AbortController: отмена fetch и поиска без гонок состояния
signal в fetch, очистка debounce и UX «Отменить» в формах.
Читать далее
Compression Streams: gzip на клиенте перед загрузкой архива
CompressionStream / DecompressionStream и экономия трафика при экспорте.
Читать далее
BroadcastChannel: синхронизация корзины между вкладками
Один источник правды для e-commerce без polling localStorage.
Читать далее
structuredClone: глубокое копирование без JSON.parse ловушек
Date, Map, Set и circular references в состоянии редактора.
Читать далее
File System Access API: «Сохранить отчёт» с выбором папки
showSaveFilePicker и fallback на download для Safari.
Читать далее
Screen Wake Lock: экран не гаснет во время обучающего ролика
navigator.wakeLock для вебинаров и презентаций на планшете.
Читать далее
EyeDropper API: пипетка цвета с экрана в редакторе бренда
Согласование палитры лендинга с референсом без скриншота в Figma.
Читать далее
Badging API: счётчик непрочитанных на иконке PWA
setAppBadge и clearAppBadge для чата поддержки и заказов.
Читать далее
prefers-contrast: усиленный контраст без отдельной «a11y-темы»
more / less и связка с дизайн-токенами светлой темы.
Читать далее
forced-colors: как сайт выглядит в режиме высокой контрастности Windows
Системная палитра, SystemColors и что не ломать в forced mode.
Читать далее
Относительные цвета CSS: from и calc() поверх oklch-токенов
Светлее на 10% без ручного подбора hex для hover и disabled.
Читать далее
text-spacing-trim: ровные абзацы в editorial-блоге
trim-start, trim-end и визуальная «подрезка» leading у заголовков.
Читать далее
Безразмерный line-height: почему 1.5 лучше 24px для масштаба
Множитель, наследование и согласованность с clamp() в типографике.
Читать далее
sin(), cos() и tan() в CSS: круговые диаграммы без SVG
Декоративные дуги и polar-раскладка на чистом CSS.
Читать далее
scroll-snap-stop: always — карусель не «перепрыгивает» два слайда
Жесты на мобильном и предсказуемая остановка на кейсах.
Читать далее
Ключевые слова sizing: stretch, fit-content и auto в grid 2026
Колонки каталога без magic number в px.
Читать далее
grid-template-areas: семантическая сетка лендинга без лишних обёрток
Именованные зоны hero, pricing и footer на одной grid-родительнице.
Читать далее
prefers-reduced-data: облегчённая версия для медленных сетей
Меньше видео-фонов и тяжёлых шрифтов по сигналу ОС.
Читать далее
Network Information API: адаптивное качество видео по типу сети
effectiveType, saveData и выбор 720p вместо 4K.
Читать далее
scroll-timeline и view(): анимация, привязанная к скроллу страницы
Именованные timeline, `animation-timeline: scroll()` и прогресс-бар без JS.
Читать далее
animation-range: когда анимация стартует и заканчивается в viewport
entry, exit и cover для блоков кейсов на главной.
Читать далее
offset-path: движение по кривой для иконок и лоадеров
path(), ray() и связка с `offset-distance` в CSS Motion Path.
Читать далее
shape-outside: обтекание текста вокруг фото в статье
circle(), polygon() и margin-box для editorial-вёрстки блога.
Читать далее
CSS columns: двухколоночный текст без Grid на узком блоке
column-count, gap и балансировка для дайджестов и PDF-стиля.
Читать далее
break-inside: avoid — карточки не рвутся между страницами при печати
Печать КП, PDF из браузера и мультиколоночные каталоги.
Читать далее
orphans и widows: типографика для печати и PDF
Минимум строк в начале/конце колонки в коммерческих предложениях.
Читать далее
font-synthesis: none — запрет искусственного bold/italic
Когда браузер «дорисовывает» начертание и ломает бренд-шрифт.
Читать далее
font-optical-sizing: opsz для читаемости мелкого текста
auto и none для variable fonts с осью optical size.
Читать далее
revert-layer: откат стилей внутри @layer без !important
Сброс утилит Tailwind на компонент из components layer.
Читать далее
:is() — короче списки селекторов в UI-kit
Группировка header a, nav a без копипасты и специфичность.
Читать далее
:where() — нулевая специфичность для reset и тем
Базовые стили ссылок, которые легко перебить одним классом.
Читать далее
:not() — исключения без дублирования правил
Стили всех кнопок, кроме `.is-disabled`, и ловушки сложности.
Читать далее
:nth-child(of S) — стили только для карточек в контейнере .catalog
Селектор уровня 4 без хрупкого nth-child(3n+1) на всей странице.
Читать далее
:empty — скрыть контейнер и показать skeleton
Плейсхолдер корзины и списка уведомлений до загрузки API.
Читать далее
:target и :target-within: подсветка раздела в оглавлении
Якорные ссылки FAQ и документации без JavaScript.
Читать далее
Fullscreen API: видео-кейс и презентация на весь экран
requestFullscreen, пользовательский жест и выход по Esc.
Читать далее
Document Picture-in-Picture: мини-окно для вебинара
PiP для обучающих плееров и многооконный UX на десктопе.
Читать далее
::slotted: стили контента в слотах Web Component
Ограничения селектора и темизация виджета студии.
Читать далее
reading-order: визуальный порядок vs порядок озвучки
Когда Grid меняет layout, а скринридер читает иначе — новое свойство.
Читать далее
@property: анимируемые design tokens без Sass-переменных
Регистрация `--brand-hue` с типом `<number>` и плавные переходы custom properties.
Читать далее
Container style queries: тема карточки по фону, а не по ширине
`@container style(--variant: dark)` и адаптация текста внутри блока.
Читать далее
text-box-trim: убрать лишний воздух над заголовком hero
cap, ex и визуальное выравнивание текста в кнопках и H1.
Читать далее
initial-letter: буквица в статьях блога студии
Drop cap в CSS без картинки и с контролем `initial-letter-align`.
Читать далее
writing-mode: vertical-rl для рубрик и боковых меток
Вертикальный текст в баннере выставки и доступность screen reader.
Читать далее
place-content и place-items: центрирование в Grid без хаков
Сокращения для align + justify в одном свойстве на родителе.
Читать далее
overflow-wrap: anywhere — длинные URL в комментариях и чате
Разница между break-word, anywhere и word-break для вёрстки.
Читать далее
word-break и line-break: переносы в русском UGC
Отзывы, комментарии и кириллица без «рваных» слов.
Читать далее
text-decoration-thickness: подчёркивание ссылок по гайдлайну бренда
Толщина линии, offset и отличие от border-bottom хака.
Читать далее
text-underline-offset: читаемые ссылки рядом с descenders
Отступ линии от базовой линии для кириллицы с «р», «у», «д».
Читать далее
appearance: none на select — кастомная стрелка без потери a11y
Скрыть нативный UI, сохранить клавиатуру и связку label + select.
Читать далее
@counter-style: своя нумерация в оферте и ТЗ
Кириллические номера, dashed и reset вложенных списков.
Читать далее
list-style-position: inside и выравнивание маркеров FAQ
Когда маркер входит в поток строки и ломает отступ абзаца.
Читать далее
::marker: цвет и размер буллетов без list-style-image
Стилизация цифр и точек в design system.
Читать далее
object-position: focal point в каталоге без перекадрировки в CMS
top, center, 30% 20% и связка с object-fit: cover.
Читать далее
min-content и max-content: колонки sidebar без фиксированных px
Интринсик sizing в `grid-template-columns` для дашбордов.
Читать далее
fit-content(): ограничить максимум и сжаться по контенту
Кнопки, теги и chip-группы в одной строке без overflow.
Читать далее
minmax(0, 1fr): почему fr-колонка «сжимается» в Grid
Минимальный размер трека по умолчанию и overflow в nested grid.
Читать далее
text-underline-position: under для кириллицы и descenders
from-font, under, left — согласование с skip-ink.
Читать далее
scrollbar-color: скроллбар в тёмной теме без WebKit-хаков
Стандартное свойство thumb/track и fallback для Safari.
Читать далее
dvh, svh и lvh: высота hero без «прыжка» на мобильном
Почему `100vh` обрезает блок под адресной строкой Safari и что ставить в 2026.
Читать далее
fluid type: clamp() для заголовков от 320px до 4K
Одна формула `clamp(min, preferred, max)` вместо десяти media queries в типографике.
Читать далее
Variable fonts: ось wght и один файл вместо шести начертаний
font-variation-settings, диапазон 300–700 и влияние на вес страницы.
Читать далее
font-feature-settings: лигатуры, цифры и small-caps в интерфейсе
Когда включать `"liga"`, а когда `font-variant-numeric: tabular-nums` для таблиц.
Читать далее
tabular-nums: ровные колонки цен в каталоге и CRM
`font-variant-numeric: tabular-nums` и сравнение с пропорциональными цифрами.
Читать далее
hyphens: auto и переносы в русском тексте на узкой колонке
lang="ru", hyphenate-limit-chars и ограничения браузеров.
Читать далее
scroll-margin-top: якоря не прячутся под sticky-шапкой
FAQ, оглавление статьи и deep links в документации.
Читать далее
scroll-padding на html: единый отступ для всех якорей
Альтернатива scroll-margin на каждом H2 в длинных гайдах.
Читать далее
caret-color: цвет курсора в полях формы под бренд
Мелкий штрих UI-kit на лендинге заявки и checkout.
Читать далее
:placeholder-shown: стили пустого поля без JS-класса .empty
Плавающие label и мягкая валидация до первого ввода.
Читать далее
:focus-within: подсветка карточки, когда курсор в любом поле
Групповой focus для многошаговых форм и блоков оплаты.
Читать далее
CSS Grid masonry: Pinterest-сетка портфолио без JS
grid-template-rows: masonry и fallback на columns.
Читать далее
grid-auto-flow: dense — заполнение дыр в каталоге промо
Карточка 2×2 в сетке товаров без ручного grid-area на каждый SKU.
Читать далее
mix-blend-mode на hero: наложение фото и градиента
multiply, overlay и производительность на слабых GPU.
Читать далее
backdrop-filter: стеклянная шапка и blur на iOS
blur(12px), fallback без размытия и влияние на battery.
Читать далее
mask-image: логотип и reveal-анимация без SVG clipPath в JS
CSS mask с градиентом и `-webkit-mask` fallback.
Читать далее
clip-path: скошенные секции и диагональные разделители
polygon(), path() и доступность контента вне clip.
Читать далее
isolation: isolate — свой stacking context для модалки и tooltip
Когда z-index «не работает» и как починить без 9999.
Читать далее
object-view-box: кадрирование <img> без overflow:hidden
Аналог background-position для content image и каталог.
Читать далее
<ruby>: надстрочные единицы и валюта в ценниках
ruby-position и доступное отображение «₽/мес» над цифрой.
Читать далее
Declarative Shadow DOM: SSR виджетов без гидратации-монстра
`<template shadowrootmode="open">` в HTML и гидратация кастомных элементов в 2026.
Читать далее
text-wrap: balance — ровные заголовки без «висячих» слов
Одна строка CSS для hero и H2 вместо ручного `<br>` в макете.
Читать далее
text-wrap: pretty — читабельные абзацы в блоге и КП
Меньше одиноких коротких строк в конце блока текста на десктопе.
Читать далее
scroll-snap: карусель отзывов без Swiper и лишнего JS
scroll-snap-type, scroll-padding и доступность для клавиатуры.
Читать далее
overscroll-behavior: не прокручивайте страницу под модалкой
contain на body и drawer, chain scroll на iOS.
Читать далее
touch-action: отключение double-tap zoom на кнопках слайдера
manipulation, pan-x и карты — когда жест конфликтует с браузером.
Читать далее
Logical properties: margin-inline и будущий RTL без переверстки
padding-block, inset-inline-start и отказ от left/right в UI-kit.
Читать далее
Custom Elements: когда виджет на сайте клиента оправдан
autonomous vs customized built-in, lifecycle callbacks и версионирование.
Читать далее
line-clamp: обрезка описаний в каталоге без фиксированной высоты
-webkit-line-clamp, box-orient и современный `line-clamp` в CSS.
Читать далее
user-select: что можно копировать с лендинга, а что нет
none на UI-хроме, all на кодах промо и влияние на доступность.
Читать далее
will-change: когда GPU-слой помогает, а когда ест память
Подсказка композитору перед анимацией и обязательное снятие после.
Читать далее
Нативная вложенность CSS: BEM и Tailwind в одном проекте
Правила nesting, амперсанд и избегание специфичности «снежного кома».
Читать далее
@starting-style: входная анимация без flash of unstyled state
Первый кадр transition для popover, dialog и toast.
Читать далее
transition-behavior: discrete — анимация display и height
Плавное раскрытие аккордеона без max-height: 9999px hack.
Читать далее
color-mix(): оттенки бренда без десятка переменных
Смешивание в oklch/srgb и hover-состояния кнопок из одного токена.
Читать далее
light-dark(): один токен для светлой и тёмной темы
CSS Color Level 5 и связка с `color-scheme` без дублирования переменных.
Читать далее
image-set() в CSS: DPR и форматы без тега <picture>
Фоны hero с avif/webp в `background-image` и fallback.
Читать далее
<slot> и fallback: контент внутри custom element до гидратации
Проекция light DOM, именованные слоты и SEO-текст в fallback.
Читать далее
::part(): стилизация shadow DOM снаружи без !important
exportparts, part attribute и white-label виджеты студии.
Читать далее
@scope: ограничение каскада CSS на секции лендинга
Изоляция стилей блока без Shadow DOM и утечки `.title` на всю страницу.
Читать далее
bfcache: почему «Назад» мгновенный, а SPA его ломает
Back/forward cache, события `pageshow`/`pagehide` и что отключает восстановление страницы в Chrome.
Читать далее
Print CSS: коммерческие предложения и счета, которые нормально печатаются
@media print, скрытие навигации и контраст чёрного текста — без «обрезанного» PDF из браузера.
Читать далее
color-scheme на :root и мета-тег: системная тёмная тема без вспышки
`light dark`, стили скроллбара форм и связка с `prefers-color-scheme`.
Читать далее
Navigation API: единая точка для SPA-переходов и аналитики
События `navigate` и intercept без гонок History API и тег-менеджера.
Читать далее
Invoker Commands и interest: превью ссылки без тяжёлого hover-JS
Декларативные подсказки и карточки превью — когда достаточно HTML, а когда нужен Popover.
Читать далее
scheduler.postTask: приоритеты main thread вместо setTimeout(0)
user-blocking vs background и связь с INP — что вынести из критического пути.
Читать далее
Zstandard (zstd) на CDN: сжатие HTML и JSON быстрее Brotli?
Content-Encoding: zstd, динамика vs статика и fallback для старых клиентов.
Читать далее
HTTP 103 Early Hints: preload шрифтов и LCP до основного ответа
Link: rel=preload в раннем ответе сервера и поддержка Cloudflare/nginx.
Читать далее
ResizeObserver: адаптивные графики и embed без window.resize
Отслеживание размера контейнера карточки и debounce для Chart.js / iframe.
Читать далее
Intersection Observer: баннер cookie и аналитика «дошли до блока»
threshold, rootMargin и замена scroll listener для ленивой аналитики.
Читать далее
credentialless iframe: виджеты без утечки cookie родителя
Атрибут `credentialless` и изоляция сторонних embed на маркетинговых лендингах.
Читать далее
Document-Policy и JS profiling: что разрешать на продакшене
Ограничение `js-profiling` и связь с диагностикой Long Animation Frames.
Читать далее
Long Animation Frames (LoAF): кто виноват в плохом INP
Атрибуция долгих кадров к скрипту и оптимизация обработчиков кликов.
Читать далее
requestIdleCallback: некритичный парсинг и индексация UI
Когда idle лучше microtask, и почему в 2026 всё чаще берут scheduler.postTask.
Читать далее
size-adjust и fallback-шрифты: меньше CLS при загрузке веб-шрифта
@font-face fallback metrics и связка с font-display: swap.
Читать далее
Атрибут ping: тихая аналитика кликов без тяжёлого redirect
Когда `a ping` уместен, а когда ломает privacy и блокировщики.
Читать далее
rel=noopener noreferrer: внешние ссылки и tab-nabbing
target=_blank по умолчанию в современных браузерах и зачем явно ставить rel.
Читать далее
beforeunload: почему «Вы уверены, что хотите уйти?» вредит UX и bfcache
Замена на inline-предупреждения в формах и сохранение черновика в localStorage.
Читать далее
pageswap и cross-document View Transitions
Плавные переходы между страницами MPA без SPA — ограничения и SEO.
Читать далее
Sanitizer API: вставка HTML из CMS без DOMPurify в бандле
Element.setHTML и конфигурация разрешённых тегов для rich text.
Читать далее
Атрибут inert: блокировка фокуса под модалкой без «ловушек» на коленке
Как `inert` отключает tab order и клики вне `<dialog>`, и почему это лучше, чем `pointer-events: none` на body.
Читать далее
<details> и <summary>: аккордеон FAQ без JavaScript
Нативное раскрытие блоков, SEO для FAQ и стилизация `::marker` без дублирования разметки.
Читать далее
Scroll-driven animations: анимация от скролла без ScrollMagic
`animation-timeline: scroll()` и `view()` — параллакс и прогресс-бары на чистом CSS с учётом `prefers-reduced-motion`.
Читать далее
CSS anchor positioning: тултипы и поповеры без absolute «на глаз»
`anchor-name` и `position-anchor` — привязка плавающих панелей к кнопкам с flip при нехватке места.
Читать далее
Media Queries Level 4: синтаксис диапазонов `(width >= 768px)`
Читаемые брейкпоинты без «max-width минус один пиксель» и меньше ошибок в Sass.
Читать далее
:focus-visible — обводка только для клавиатуры, не для каждого клика
Как убрать «синие рамки» для мыши и сохранить WCAG 2.4.7 для Tab-навигации.
Читать далее
Trusted Types: снижение DOM-XSS при вставке HTML из CMS
Политика `require-trusted-types-for` и создание TrustedHTML вместо сырого `innerHTML`.
Читать далее
Reporting API: куда уходят отчёты CSP, COOP и Permissions Policy
`report-to` / `Reporting-Endpoints` и сбор нарушений без `alert` в консоли продакшена.
Читать далее
HSTS и preload: принудительный HTTPS и попадание в списки браузеров
Заголовок `Strict-Transport-Security`, срок `max-age` и риски preload до готовности всего домена.
Читать далее
SameSite cookies: Lax, Strict и сторонние платежи
Почему пропала «сквозная» авторизация с другого сайта и как настроить OAuth без поломки checkout.
Читать далее
Resource Hints: когда prerender ускоряет SPA, а когда съедает трафик
Разница между `prefetch`, `preload` и `prerender`, и связь со Speculation Rules API.
Читать далее
VideoObject в JSON-LD: разметка роликов для поиска и превью
Обязательные поля `thumbnailUrl`, `uploadDate` и страница просмотра — без спама невидимым видео.
Читать далее
Speakable schema: что озвучивают Google Assistant и умные колонки
Разметка `speakable` для новостей и дайджестов — когда она уместна для блога студии.
Читать далее
CSS Subgrid: выравнивание карточек в сетке каталога
Когда дочерняя сетка наследует дорожки родителя и заголовки карточек встают в одну линию.
Читать далее
Селектор :has(): «родитель с потомком» без JavaScript
Стилизация карточки с ошибкой формы, пустой корзины и активного пункта меню на чистом CSS.
Читать далее
@layer в CSS: порядок Bootstrap, утилит и своих стилей
Явные слои `base`, `components`, `utilities` вместо войны `!important`.
Читать далее
OKLCH в CSS: предсказуемые оттенки и тёмная тема
Почему дизайнеры переходят с HEX на `oklch()` и как не сломать контраст WCAG.
Читать далее
accent-color: брендовые чекбоксы без перерисовки SVG
Один CSS-свойство для `input[type=checkbox]` и `range` — лимиты кастомизации.
Читать далее
scrollbar-gutter: stable — без скачка layout при появлении скролла
Фиксированный header и модалки не «прыгают» на 15px при overflow: auto.
Читать далее
field-sizing: content — textarea и input по высоте текста
Авто-рост поля комментария без JS и риска обрезать длинный отзыв на мобильном.
Читать далее
modulepreload: приоритет ES-модулей без лишнего preload всего бандла
Когда `rel=modulepreload` ускоряет entry chunk, а когда дублирует работу bundler и перегружает сеть.
Читать далее
content-visibility: auto и «дешёвый» off-screen контент
CSS-свойство откладывает layout/paint блоков вне экрана; риски для SEO и поиска in-page.
Читать далее
CSS contain: layout и paint — изоляция компонентов от reflow
Когда `contain: content` помогает карточкам и виджетам, а когда ломает position: fixed внутри.
Читать далее
Referrer-Policy: UTM, privacy и полные URL в аналитике
strict-origin-when-cross-origin vs no-referrer: что видит партнёр и что теряется в отчётах.
Читать далее
Permissions-Policy: отключить geolocation и camera в iframe
Как запретить API во встраиваемых виджетах и согласовать с allow attribute.
Читать далее
SoftwareApplication JSON-LD: SaaS и калькуляторы в выдаче
Когда уместна разметка приложения, operatingSystem Web и связь с Offer.
Читать далее
Consent Mode v2: аналитика и реклама после согласия cookie
Базовый vs advanced режим, default denied и связь с баннером на сайте в РФ/ЕС.
Читать далее
Яндекс Метрика в SPA: hit при router change и виртуальные pageview
ym hit vs reachGoal, defer и типичные «нулевые» отчёты после перехода React Router.
Читать далее
Course и CourseInstance: онлайн-курсы и расписание в разметке
provider, hasCourseInstance, offers и отличие от Event для вебинаров.
Читать далее
Import maps: CDN и версии ES-модулей без сборщика на legacy
Когда importmap оправдан, pin dependencies и риски supply chain.
Читать далее
TBT и long tasks: где main thread «замирает» и как это связано с INP
Total Blocking Time суммирует блокировки после FCP; задачи дольше 50 ms — отправная точка для оптимизации JS.
Читать далее
Элемент dialog: нативные модалки без focus-trap библиотек
showModal, ::backdrop, закрытие по Escape и связь с доступностью.
Читать далее
Service Worker: стратегии кэша для офлайна и быстрого повторного визита
Cache first, network first, stale-while-revalidate — когда какую схему выбирать для shell и API.
Читать далее
Popover API: подсказки и меню без z-index войн
popover="auto|manual", anchor positioning и отличие от title attribute.
Читать далее
Web App Manifest: иконки, theme_color и «Добавить на экран»
Минимальный manifest.json для installable PWA: maskable icons, start_url и display standalone.
Читать далее
View Transitions API: плавные переходы между страницами SPA
document.startViewTransition, old/new snapshot и prefers-reduced-motion.
Читать далее
target="_blank" без noopener: уязвимость window.opener и простой фикс
Почему внешние ссылки в новой вкладке могут управлять исходной страницей и что добавить в rel.
Читать далее
CSS container queries: адаптив карточки по ширине контейнера
container-type, @container и когда они лучше media queries по viewport.
Читать далее
Event в JSON-LD: афиша, вебинары и даты без ошибок в Search Console
Обязательные поля startDate, location (или online), organizer и типичные отклонения rich results.
Читать далее
Meta description: сниппет в выдаче без keyword stuffing
Длина, уникальность на шаблон и почему Google может переписать description.
Читать далее
Offer в Schema.org: цена, валюта, availability и согласованность с витриной
Как связать Product и Offer, когда нужен priceValidUntil и почему «0 ₽» в JSON-LD опасен.
Читать далее
Search Console: отчёт Core Web Vitals и приоритизация URL
Groups poor/good, связь с CrUX и как не чинить «среднее по больнице».
Читать далее
HTTP 503 и Retry-After: техработы без выпадения из индекса
Когда 503 лучше 200 с заглушкой, как Google трактует кратковременную недоступность и что писать в Retry-After.
Читать далее
Staging и preview: noindex, auth и утечки в индекс
Базовая auth, robots, X-Robots-Tag и почему «секретный» поддомен всё равно находят.
Читать далее
Meta viewport: width=device-width и типичные ошибки мобильной вёрстки
Зачем initial-scale, почему user-scalable=no вредит доступности и как viewport влияет на CLS.
Читать далее
datalist: нативные подсказки в input без тяжёлого combobox
Связка input + datalist, ограничения стилизации и доступность vs custom select.
Читать далее
srcset и sizes: responsive images без лишних мегапикселей
Как браузер выбирает width descriptor, пример sizes для сетки каталога и связь с DPR.
Читать далее
Атрибут lang на html: озвучка, hyphenation и сигнал языка
lang="ru", фрагменты на другом языке через lang на span и hreflang vs lang.
Читать далее
decoding="async" у img: декодирование без блокировки отрисовки
Sync vs async decoding, когда это заметно на LCP и почему не панацея без оптимизации веса.
Читать далее
Cross-origin isolation: COOP, COEP и SharedArrayBuffer
Заголовки для advanced API, почему ломаются embed и как тестировать window.crossOriginIsolated.
Читать далее
FCP: первый контент на экране и что ускоряет «появление» страницы
First Contentful Paint — ранняя метрика загрузки. Пороги, связь с LCP и типичные блокеры в CSS/шрифтах.
Читать далее
Speculation Rules API: prefetch и prerender следующих страниц
Декларативный prefetch/prerender вместо устаревших хаков: осторожность с персональными URL.
Читать далее
prefers-reduced-motion: анимации, которые не мешают и не ломают WCAG
Медиазапрос для пользователей с вестибулярной чувствительностью: как отключить parallax и бесконечные loop без «мертвого» UI.
Читать далее
PDF в поиске: когда файл индексируется и как не убить UX мобильных
Google индексирует PDF как документ; заголовок, текст и альтернатива HTML-версии.
Читать далее
Native lazy loading: loading="lazy" без сторонних библиотек
Когда браузер сам откладывает картинки ниже fold, почему LCP-изображению lazy вредит и какие fallback для старых клиентов.
Читать далее
Infinite scroll и SEO: paginated series и видимые URL
Как Google рекомендует связывать подгружаемые ленты с crawlable pagination или отдельными страницами.
Читать далее
preconnect и dns-prefetch: ускорить сторонние домены без лишних TCP
Resource hints для CDN, шрифтов и аналитики: когда хватит dns-prefetch, а когда нужен полный preconnect.
Читать далее
CAPTCHA на формах: v3, hCaptcha и доступность без блокировки лидов
Score-based captcha, fallback для блокировщиков и rate limit как альтернатива тяжёлому виджету.
Читать далее
Article в JSON-LD: блог, новости и дата публикации без путаницы
Поля author, datePublished, headline и image; отличие Article от BlogPosting в разметке Google.
Читать далее
RUM для Core Web Vitals: библиотека web-vitals и отправка в аналитику
onLCP, onINP, onCLS в production, sampling и не светить PII в custom dimensions.
Читать далее
noindex через meta robots: когда закрывать страницу от индекса
Разница между noindex и Disallow, комбинация с canonical и типичные ошибки на staging.
Читать далее
ETag и 304 Not Modified: условные запросы для API и статики
If-None-Match, weak vs strong ETag и когда Last-Modified проще для CDN.
Читать далее
Soft 404: когда страница отдаёт 200, а для поиска это «пустышка»
Как Google распознаёт мягкие 404, чем они опасны для каталога и что делать с «ничего не найдено».
Читать далее
JobPosting JSON-LD: вакансии студии в поиске Google for Jobs
title, datePosted, hiringOrganization, jobLocation и validThrough при закрытии позиции.
Читать далее
Cache-Control для статики: immutable, max-age и сброс CDN
Как не кэшировать HTML слишком долго, а для hashed assets — наоборот; связь с purge на CDN.
Читать далее
OG-изображение: минимальные размеры и aspect ratio для Telegram и Facebook
1200×630, что будет обрезано в карточках и как не получить мыло из логотипа.
Читать далее
Secure contexts: почему API браузера требуют HTTPS
Geolocation, Service Worker, Web Crypto и localhost — что ломается на HTTP и как тестировать локально.
Читать далее
Autoplay видео: политика браузеров, muted и влияние на UX
Почему со звуком не стартует, playsinline для iOS и когда hero-video лучше заменить poster.
Читать далее
fetchpriority=high: приоритет LCP-изображения без лишнего preload
HTML-атрибут приоритета загрузки: когда он заменяет preload и как не перегрузить «high» на всех img.
Читать далее
WebSocket: reconnect, heartbeat и graceful shutdown на проде
Экспоненциальный backoff, ping/pong и почему WS не заменяет REST для критичных транзакций.
Читать далее
GraphQL и проблема N+1: DataLoader и батчинг на сервере
Почему «один запрос с клиента» не спасает от лавины SQL и как структурировать резолверы.
Читать далее
Critical CSS: inline above-the-fold без раздувания HTML
Extract critical styles, отложенная загрузка остального и trade-off с кэшированием.
Читать далее
font-display: swap и борьба с невидимым текстом (FOIT)
Когда swap уместен, когда optional, и как не получить CLS от смены метрик шрифта.
Читать далее
HTTP/3 и QUIC: что меняется для сайта и когда это заметно
Мультиплексирование без head-of-line blocking, TLS 1.3 и роль CDN в включении h3.
Читать далее
Source maps в production: отладка без публикации исходников
hidden source maps, доступ только по auth и риск утечки бизнес-логики через маппинг.
Читать далее
API-ключи во фронтенде: ограничения, прокси и ротация
Почему «секрет» в JS не секрет, referrer restrictions и server-side proxy для карт и платежей.
Читать далее
Skip link: прыжок к main content для клавиатуры и скринридеров
Паттерн «перейти к содержимому», видимый focus и размещение первым в DOM.
Читать далее
Яндекс Вебмастер: sitemap, переобход и типичные ошибки индекса
Как добавить sitemap в Яндекс, лимиты и связь с robots.txt для RU-трафика.
Читать далее
Sitelinks search box: разметка поиска по сайту в выдаче
WebSite + SearchAction JSON-LD: когда Google показывает поле поиска и как не ошибиться с URL шаблоном.
Читать далее
Анализ бандла: как ловить регрессии размера JS до релиза
webpack-bundle-analyzer, лимиты в CI и типичные «случайные» импорты lodash/moment.
Читать далее
TTFB и Server-Timing: где «застрял» первый байт HTML
Что входит в Time to First Byte, как Early Hints влияет на измерения и как заголовок Server-Timing помогает разложить задержку по слоям.
Читать далее
Gzip и Brotli для HTML и JSON: что включать на CDN и origin
Типы контента, для которых сжатие окупается, взаимодействие с кэшем и почему бинарники сжимать бессмысленно.
Читать далее
CORS для API: preflight, куки и заголовки, без которых фронт «молчит»
Почему браузер блокирует простой GET с другого origin, что такое preflight и как настроить `Access-Control-Allow-Origin` без `*` при куках.
Читать далее
Идемпотентность POST: платежи и заказы без двойного списания
Ключ идемпотентности, повторы из-за таймаутов и почему «просто проверить в БД» недостаточно при гонках.
Читать далее
Секреты в Git: secret scanning, .gitignore и что делать после утечки
Почему «удалить коммит» недостаточно, как включить сканирование на GitHub и как ротировать ключи без простоя.
Читать далее
Конфигурация через окружение: двенадцать факторов и практика для Next/Node
Почему конфиг не должен жить в образе Docker, как развести staging и production и зачем явный `NODE_ENV`.
Читать далее
Redis как кэш: cache-aside, TTL и инвалидация после публикации
Когда читать из кэша первым, как обрабатывать промах и почему «вечный» ключ для каталога опасен.
Читать далее
Индексы в PostgreSQL для веб-проектов: B-tree, составные и лишние индексы
Когда достаточно одного B-tree, зачем порядок полей в составном индексе и как `EXPLAIN ANALYZE` спасает от догадок.
Читать далее
JWT в браузере: httpOnly-куки vs localStorage и модель обновления токена
Почему XSS бьёт по localStorage сильнее, зачем короткий access и refresh на сервере и какие заголовки SameSite нужны.
Читать далее
HTTP 429 и Retry-After: как клиенту не усугубить шторм запросов
Экспоненциальная задержка, джиттер и идемпотентность при повторе после rate limit.
Читать далее
Skeleton screens: воспринимаемая скорость без обмана пользователя
Когда скелетон уместен, как не маскировать ошибки и связь с метриками загрузки.
Читать далее
aria-live: объявлять результат отправки формы без лишнего шума
Режимы polite/assertive, регионы status/alert и почему нельзя спамить live-регион каждым keystroke.
Читать далее
Атрибут inputmode: цифры, телефон и decimal на мобильных
Разница между `type="number"` и `inputmode="decimal"`, подводные камни для OTP и сумм.
Читать далее
autocomplete и безопасность: логин, карта и одноразовые коды
Стандартные токены `username`, `current-password`, `one-time-code` и почему их важно не выдумывать.
Читать далее
Элемент picture: WebP, AVIF и JPEG fallback без ломки кэша
Порядок source, MIME type и зачем оставлять img с универсальным форматом последним.
Читать далее
HowTo в JSON-LD: пошаговые гайды в поиске без нарушения правил Google
Когда HowTo уместен, обязательные поля и почему нельзя дублировать невидимый текст.
Читать далее
AggregateRating и отзывы: допустимые сценарии и риск санкций за фейк
Связь с реальными отзывами на странице, self-hosted рейтинг магазина и запрет на стимулирование необъективных оценок.
Читать далее
Web Share API: нативное меню «Поделиться» без своих модалок
Проверка `navigator.share`, fallback для десктопа и ограничения по HTTPS и user gesture.
Читать далее
Push-уведомления в браузере: разрешения, VAPID и нераздражать
Когда спрашивать permission, зачем service worker и отличие web push от мобильного SDK приложения.
Читать далее
Timing-Allow-Origin и полевые метрики для сторонних ресурсов
Почему TTFB кросс-доменного API в поле часто «ноль», и как разрешить сбор таймингов безопасно.
Читать далее
CLS: реклама, шрифты и динамический контент без «прыжков» макета
Cumulative Layout Shift — метрика стабильности визуала. Как связаны всплывающие блоки, веб-шрифты и поздняя подгрузка с плохим UX и Core Web Vitals.
Читать далее
robots.txt: что может и чего не может файл для краулеров
Директивы Allow/Disallow, лимиты Google, sitemap и частые заблуждения про «закрытие» контента от индекса.
Читать далее
JSON-LD Organization: логотип, контакты и «панель знаний» без переспама
Как оформить Organization/LocalBusiness в разметке Schema.org и что реально проверяет Google в валидаторе rich results.
Читать далее
Alt у изображений: доступность, поиск картинок и когда alt должен быть пустым
Связь альтернативного текста со скринридерами и Google Images; отличие декоративной графики от контентной.
Читать далее
Open Graph и X Cards: превью ссылок в мессенджерах и соцсетях
Минимальный набор meta-тегов, размеры og:image и отладка через официальные инструменты Facebook и X.
Читать далее
Content-Security-Policy с нуля: от report-only к жёсткому режиму
Как CSP снижает риск XSS, зачем nonce для inline-скриптов и как не сломать аналитику при первом включении.
Читать далее
preload и prefetch: приоритет шрифтов, LCP и «следующая» страница
Разница между подсказками ресурса, когда preload ускоряет LCP, а когда создаёт лишнюю конкуренцию за полосу.
Читать далее
Subresource Integrity: защита CDN-скриптов от подмены
Атрибут integrity для `<script>` и `<link>`: как генерировать хэш и что делать при смене версии библиотеки.
Читать далее
BreadcrumbList в JSON-LD и хлебные крошки в UI: единый источник правды
Как не разъехаться между видимой навигацией и структурированными данными; требования Google к цепочке позиций.
Читать далее
Пагинация каталога: внутренние ссылки, faceted navigation и индекс
Как Google относится к набору страниц с page=; когда нужен canonical на себя, а когда — noindex или robots.
Читать далее
Запас прочности застройщиков на исходе — эксперты о мерах поддержки отрасли
Запас прочности застройщиков на исходе — эксперты о мерах поддержки отрасли
Читать далее
Порядок фокуса и модальные окна: ловушка таба и возврат на триггер
WCAG 2.4.3 и практика: куда уходит фокус при открытии диалога, как закрыть клавиатурой и не потерять пользователя в оверлее.
Читать далее
Boss CMS: редакция без разработчика на каждый дроп и акцию
Как маркетинг сам меняет лендинги, новости и карточки товара в Boss CMS — без ожидания релиза фронта. Пилот Пуск‑Медиа от 15 000 ₽/мес.
Читать далее
Puskie для маркетплейс-бренда: эмоции на карточках и в каруселях Ozon/WB
Маскот с реквизитом (коробки, чай, график) повышает доверие к SKU — не шаблонный сток. Составной бренд: знак паука + «ПУСКИ» на упаковке.
Читать далее
Белая каска: медиа стройотрасли на Boss CMS (кейс rp9)
Медиа «Белая каска» (rp9.ru): лента новостей, SEO, Дзен — отдельный tenant `white-helmet` в Boss. Студия Пуск‑Медиа — айдентика и сопровождение.
Читать далее
Пакет «витрина + Puskie + CRM»: один контур заявок для студии и клиента
Лендинг, маскот с эмоциями, CRM-канбан и webhook — лиды не теряются между чатом, почтой и Telegram. Тарифы студии 15–50k ₽/мес.
Читать далее
Автоакции и автоархив: как снять сотни SKU без ручного клика в кабинете
Утилита Пуск‑Медиа для Ozon и Wildberries: пакетно отключает автоакции и выводит артикулы из автоархива по CSV — с логом и повторным прогоном.
Читать далее
ИИ‑продавец для Авито: ответы в чатах, пока вы на сделке
Автоответы в Avito Pro по скриптам студии Пуск‑Медиа: цена, наличие, адрес, запись. Сложные переговоры — менеджеру, история в CRM.
Читать далее
BOSS AI для Ozon: автоархив и автоакции на автопилоте
Сервис студии Пуск‑Медиа: возвращает товары из автоархива и снимает с нежелательных автоакций через API Ozon — без сотен ручных кликов в кабинете.
Читать далее
«Индекс миллиона» на элитном сегменте Москвы просел до 44 м² — NF Group
«Индекс миллиона» на элитном сегменте Москвы просел до 44 м² — NF Group
Читать далее
CSS aspect-ratio и размеры img: стабильный блок под медиа
Как зарезервировать пропорции до загрузки файла и снизить CLS без жёстких пикселей на каждый брейкпоинт.
Читать далее
Как мы создали маскота Puskie: комикс, спрайт-листы и «живая скрепка» для студии
От логотипа-паука до character sheet, комикс-панелей в блоге и покадровой анимации в лаборатории: пайплайн Gemini → slice → manifest, отличие от Cursor Agent и подключение CLI.
Читать далее
Почему на упаковке был «чужой» паук — и как мы ставим настоящий знак Пуск‑Медиа
Нейросеть любит придумывать логотипы. Решение: в каждый запрос вкладываем оригинальные PNG паука и знака из public/brand/ и reference/ — модель копирует, а не выдумывает.
Читать далее
Каталог чая на Boss CMS: пилот мерча Пуск‑Медиа и цены в 2 раза ниже витрины-источника
Готовим товарный контур на Boss CMS: SKU с chai-cofe.com, наши цены = 50% от розницы источника, картинки Puskie с чайной темой. Публикация магазина — после наполнения.
Читать далее
Puskie с эмоциями: зачем маскоту чайник, CMS и график роста
Иллюстрации на pusk-media.ru — не «красивые картинки», а инструменты продаж: эмоция, действие, реквизит под тему блока и единая айдентика с референсами паука и лого.
Читать далее
Суд вернется к вопросу об активах VALO
Суд вернется к вопросу об активах VALO
Читать далее
Мультиязычный сайт без дублей: структура URL и hreflang по шагам
Подпапки vs поддомены, x-default, каноникалы и один H1 на язык — как не словить каннибализацию между ru и en.
Читать далее
Поддержка сайта после запуска: что входит в нормальный SLA
Обновления, бэкапы, мониторинг, мелкие правки и безопасность — как не платить за «абонент» без понятного объёма работ.
Читать далее
Дубли URL: параметры сессии, трекинг и консолидация сигналов для Google
Когда достаточно canonical, когда — 301, и как не размножать «мусорные» параметры в sitemap.
Читать далее
Яндекс Вебмастер в 2026: полный гайд для владельца сайта и маркетолога
От подтверждения прав до ИКС, индексации, турбо-страниц и санкций: как читать отчёты, что чинить в первую очередь и как связать Вебмастер с Метрикой и контент-планом.
Читать далее
Маркетинговая воронка в 2026: от гипотезы до лида в CRM — полный гайд
Стратегия, единый визуал, каналы, ROMI и прозрачные заявки: как собрать воронку без «разрозненных баннеров» и что проверять каждую неделю.
Читать далее
GEO и нейропоиск в 2026: полный гайд по видимости в AI-ответах
Когда кликов из поиска меньше, бренд живёт в ответах ассистентов. Структура сайта, факты, entity SEO, мониторинг и связка с классическим SEO — без мифов про «ТОП в ChatGPT за неделю».
Читать далее
Бриф на разработку сайта: шаблон вопросов, который экономит месяц переписки
Цели, аудитория, конкуренты, контент, интеграции и критерии приёмки — что собрать до сметы от студии.
Читать далее
Фоновое видео на лендинге: когда оно уместно и как не убить скорость
Бюджет веса страницы, poster, отключение на мобиле и prefers-reduced-motion — практика без модных тяжёлых hero.
Читать далее
WCAG 2.2 для продуктовой команды: что нового и как внедрять по этапам
Рекомендация W3C от октября 2023 года расширяет 2.1. Краткий маршрут для дизайнеров, вёрстки и контента без «галочки ради галочки».
Читать далее
INP вместо FID: как измерить и ускорить отклик интерфейса
Interaction to Next Paint — ключевая метрика отзывчивости в Core Web Vitals. Что считать «хорошо», где смотреть данные и какие правки дают максимум.
Читать далее
Image sitemap: когда он нужен и как не превысить лимиты файла
Связь image sitemap с Google Images, лимиты на записи и дубли с обычным urlset.
Читать далее
Упаковка под маркетплейсы: как мы собираем бренд Пуски на дой-паках и коробках
Составной брендинг: знак паука и «ПУСКИ» отдельно на чае, снеках, косметике и SKU для Ozon/Wildberries — без копирования lockup 1:1.
Читать далее
Заявки с сайта в CRM: вебхуки, дубли и поля без хаоса в воронке
Как связать форму, Метрику и amoCRM/Битрикс24: UTM, согласие на ПДн, тестовая воронка и что проверить до запуска рекламы.
Читать далее
Главная страница B2B: семь блоков, которые не стыдно показать директору
Структура первого экрана, доказательства, услуги, кейсы и CTA — как собрать главную без «простыни ради SEO» и пустых цифр.
Читать далее
Архив медиа и акты: как оформить права на ролик, фото и музыку для сайта
Исходники, лицензии стоков, согласия моделей и передача материалов клиенту — без сюрпризов при проверке.
Читать далее
Материалы для выставки: roll-up, стенд и цифровые носители в одном комплекте
Как связать печать, макеты и QR на лендинг, чтобы стенд работал после закрытия павильона.
Читать далее
Продуктовая съёмка для каталога: свет, фон и единый стиль на сотни SKU
Как согласовать референс, снять серию и подготовить файлы под карточку товара и маркетплейсы.
Читать далее
Предпродакшн корпоративного ролика: сценарий, раскадровка и смета
Что делают до съёмочного дня, чтобы не переснимать и уложиться в бюджет B2B-видео.
Читать далее
Как оценить портфолио веб-студии: на что смотреть кроме картинок
Кейсы, метрики, стек, роль студии в проекте и живые сайты — короткий протокол выбора подрядчика.
Читать далее
Редизайн или новый сайт: как выбрать и не потерять SEO
Когда достаточно обновить визуал и CMS, а когда проще мигрировать на новую структуру с картой 301.
Читать далее
Приёмка сайта по этапам: чек-лист для заказчика и студии
Как принимать прототип, макеты, вёрстку и CMS без бесконечных правок и с фиксацией «готово».
Читать далее
Договор на разработку сайта: что закрепить до старта, чтобы не спорить в конце
ТЗ, этапы, приёмка, права на код и контент, сроки и допработы — чек-лист для B2B без юридического канцелярита.
Читать далее
Электронная торговля в Яндекс Метрике: dataLayer, лимиты и отладка
Как устроен ecommerce-контейнер, совместимость с форматами GA, лимит 8192 символов и параметры _ym_debug для проверки событий.
Читать далее
Файл llms.txt на сайте: зачем он и как не завысить ожидания
Курируемый индекс для LLM и агентов. Где спецификация, как связать с robots и какие сценарии реально закрывает файл в 2026 году.
Читать далее
Видео в поиске: VideoObject JSON-LD и обязательные поля
Что требует Google для rich video, как связать embed с watch page и зачем duration ISO 8601.
Читать далее
Микроразметка Schema.org для сайта услуг: что внедрить в первую очередь
Organization, LocalBusiness, Service и FAQ — минимальный набор JSON-LD для B2B без перегруза и ошибок в валидаторе.
Читать далее
Сайт под ключ или конструктор: как выбрать без переплаты и сюрпризов
Тильда, Webflow и кастомная разработка — честное сравнение для B2B: когда хватит конструктора, а когда нужна студия, интеграции и рост без потолка.
Читать далее
LCP без иллюзий: где реально теряются секунды до главного кадра
Largest Contentful Paint ≤ 2,5 с на 75-м перцентиле — цель Core Web Vitals. Разложение на TTFB, задержки до ресурса и отрисовку.
Читать далее
hreflang без ошибок: взаимные ссылки, x-default и полные URL
Как Google интерпретирует языковые альтернативы и почему односторонние аннотации игнорируются.
Читать далее
XSS и санитизация HTML: что допускать из WYSIWYG на сервере
Политика allowlist тегов, контекст DOM и почему одной «библиотеки на клиенте» недостаточно.
Читать далее
Кейсы студии: как читать разборы проектов
На страницах /cases — задача, сводка, блоки по этапам и ссылка на живой сайт. Гид: что смотреть в первую очередь.
Читать далее
AI-примерка в интернет-магазине: CMS-модуль, ПДн и контур для РФ
Как встроить виртуальную примерку в корзину на CMS студии: согласие на фото, TTL, обработка в России и пилот на Kodak Apparel.
Читать далее
Блог открыт: новости студии и разборы
Здесь публикуем кейсы, SEO, запуски, дизайн-системы и IT — архив для клиентов и команды. Как устроены рубрики и как предложить тему.
Читать далее
15+ бесплатных фотостоков и сервисов генерации изображений
Где взять фото, векторы и иконки для макета и продакшена: стоки, которые открываются из России, лимиты, лицензии и нейросети для картинок по тексту.
Читать далее
Аналитика сайта в комиксах: цели, отчёты и решения
Метрики без магии: установка счётчиков, цели, поведение пользователей и выводы для маркетинга.
Читать далее
UI-дизайн в комиксах: wireframe, UI-kit и передача в разработку
Как студия ведёт дизайн интерфейса — от скетча до handoff. Пять кадров с Puskie для клиентов и SMM.
Читать далее
OpenAPI-first: как контракт API экономит фронт, бэк и тесты
Единая спецификация версионируется в репозитории, генерирует клиенты и документацию и снижает количество «сюрпризов» на интеграции.
Читать далее
Canonical и дубли страниц: когда ставить rel=canonical и чего избегать
Консолидация сигналов для поиска при UTM, пагинации и мобильных зеркалах — без конфликта с noindex и параметрами.
Читать далее
HTTP security headers: HSTS, X-Content-Type-Options и базовый hardening
Краткий набор заголовков для типового Node/NGINX фронта и как проверить сайт через Mozilla Observatory.
Читать далее
Бесплатные видеостоки: 8 источников для сайта и соцсетей
Фоновые ролики для hero, сторис и презентаций — где скачать MP4 без лицензионных сюрпризов и что проверить перед публикацией.
Читать далее
Поддержка сайта в комиксах: мониторинг, правки и SLA
Что входит в сопровождение после запуска — от аптайма до контент-правок. Пять кадров с маскотом Puskie.
Читать далее
Интернет-магазин в комиксах: карточка, checkout и рост продаж
Пять кадров про e-commerce: каталог, карточка товара, оплата, интеграции и метрики. Визуал Puskie для клиентов и SMM.
Читать далее
Кейс студии в комиксах: от брифа до результата
Как читать наш подход к проектам — исследование, решение, запуск и цифры. Комикс-карусель Puskie.
Читать далее
Индекс sitemap и лимиты: как склеить большой каталог и не упереться в потолок
50 000 URL и 50 МБ на файл, индексный sitemap и lastmod — напоминание по спецификации sitemaps.org и проверке в Search Console.
Читать далее
Cookie, метрики и 152-ФЗ: раздельные согласия и прозрачная политика
Зачем разделять согласие на ПДн и на cookie, что описать в политике и как не блокировать сайт лишними баннерами.
Читать далее
package-lock.json и воспроизводимые сборки фронтенда
Зачем коммитить lockfile, как `npm ci` отличается от `npm install` в CI и что делать при конфликте версий.
Читать далее
Дизайн-токены и UI-кит: как передать макет в вёрстку без сюрпризов
Цвета, отступы, типографика и компоненты в Figma — что зафиксировать до старта разработки, чтобы сайт совпал с макетом и не разъехался на третьем экране.
Читать далее
GEO и нейропоиск: как оставаться видимым, когда кликов стало меньше
Яндекс с Алисой, Google AI Overviews и чат-боты меняют выдачу. Что делать сайту: структура, экспертность, ссылки и измеримые цели.
Читать далее
Видеопродакшн в 5 кадрах: от брифа до публикации
Как студия ведёт корпоративный ролик — сценарий, съёмка, монтаж и версии под Reels. Комикс с маскотом Puskie.
Читать далее
SEO в комиксах: от аудита до роста в поиске — как мы ведём проекты
Пять кадров про SEO без скуки: аудит, семантика, контент, техника и рост. Для маркетолога и владельца — что проверить на сайте до вложений в рекламу.
Читать далее
Контент и SMM в комиксах: от календаря до аналитики
Как студия ведёт контент-контур: план, тексты, визуал, публикация и цифры. Комикс-карусель для блога и соцсетей.
Читать далее
Webhooks в CRM: подпись HMAC, идемпотентность и ретраи
Как принимать исходящие вебхуки от платформ без подделки запросов и без двойных сделок в CRM.
Читать далее
Product в JSON-LD для каталога: что обязательно совпасть с витриной
Schema.org Product и требования Google к merchant-разметке: цена, наличие и совпадение с тем, что видит пользователь.
Читать далее
Playwright smoke: три сценария, которые ловят 80% «сайт упал»
Минимальный набор E2E без хрупких селекторов: главная, форма, оплата/корзина — и запуск в GitHub Actions.
Читать далее
Карточка товара в 2026: фото, размеры, доставка и микроразметка
Что должно быть на странице SKU, чтобы и покупатель, и поисковик поняли предложение: галерея, таблица размеров, наличие, Schema.org и блок доверия.
Читать далее
Ссылочное продвижение: когда ссылки нужны и когда хватит контента
Зачем коммерческому сайту внешние ссылки, как не купить санкции поисковика и что делать на старте без бюджета на биржу.
Читать далее
AI на сайте без хаоса: 5 шагов в комикс-формате
Аудит задач, боты, контент, интеграции и масштаб — как внедрять нейросети в маркетинг и не потерять бренд.
Читать далее
Маркетинг в комиксах: воронка, креативы и лиды в CRM
Стратегия, креативы, каналы, аналитика и заявки — продающая история в формате карусели Pusk‑Медиа.
Читать далее
Видео на сайте: WebM, AV1 и запасной H.264 для Safari
`<picture>` для постеров, `<source type>` для кодеков и политика фолбэка без двойной загрузки десятимегабайтных файлов.
Читать далее
B2B-формы: валидация без ярости и рост конверсии без «лишних полей»
Сообщения об ошибках, маски телефона, автозаполнение и доступность — чеклист до A/B тестов.
Читать далее
Lighthouse CI в pull request: бюджеты производительности и регрессии
Как задать assert для LCP/CLS, собрать temporary public URL и не блокировать мерж из-за лабораторного шума.
Читать далее
SEO без лжи: структура сайта, скорость и что реально влияет на выдачу
Честный разбор без «волшебных гарантий»: мета, скелет разделов, скорость и полезность страниц для запроса.
Читать далее
Выставочный стенд: чеклист до выезда на площадку
Сборка макетов, дедлайны полиграфии, навигация на площади и согласования с площадкой — что закрыть до монтажа.
Читать далее
GEO и нейропоиск: комикс про видимость в AI-ответах
Как готовить сайт к цитированию в нейропоиске — пять кадров с тем же героем, что на лендинге студии.
Читать далее
Брендинг в комиксах: от moodboard до брендбука
Айдентика без сухих PDF — пять кадров про логотип, гайд и запуск бренда с маскотом Puskie.
Читать далее
Сайт под ключ в комиксах: бриф, дизайн, код и запуск
Пять кадров про разработку сайта — от структуры до адаптива и передачи в прод. Визуал для клиентов и соцсетей.
Читать далее
Переезд сайта на новый домен: 301, Search Console и мониторинг позиций
Пошаговый контрольный список: карта старых URL, постоянные редиректы, обновление внутренних ссылок и внешних интеграций.
Читать далее
Резервное копирование сайта и БД: правило 3-2-1 и проверка восстановления
Три копии, два носителя, одна оффлайн; тестируйте restore до инцидента, а не ночью при падении продакшена.
Читать далее
Hero-блок: как выбрать фото со стока и не убить скорость сайта
Первый экран продаёт, но тяжёлый баннер бьёт по LCP. Форматы, размеры, lazy-load и когда лучше вектор или градиент вместо фото.
Читать далее
Репутация онлайн: отзывы, карты и влияние на продажи
Почему пустые карточки на картах бьют по конверсии, как работать с негативом и зачем это связано с SEO.
Читать далее
Тёмная тема в интерфейсе: контраст, elevation и привычки пользователя ОС
Переключатель темы, токены цвета и проверка WCAG для обеих палитр — не копируйте светлые макеты «как есть».
Читать далее
Защита форм от спама и перегрузки: rate limit, honeypot и капча по необходимости
Баланс между UX и злоупотреблениями: токены, лимиты по IP+фингерпринту, проверка на стороне сервера.
Читать далее
AI-инструменты для сайта: тексты, картинки и рутина без хаоса
Какие задачи отдавать нейросетям в 2026 году, что оставить людям и как не нарушить права на контент.
Читать далее
npm audit и CI: цепочка поставок фронтенда без «зелёного build и красного прод»
Политика обновлений, lockfile, SBOM и блокирующие уровни уязвимостей в пайплайне.
Читать далее
Разметка FAQ: когда она уместна и как избежать санкций за несоответствие контенту
JSON-LD FAQPage только для видимых на странице вопросов и ответов; синхронизация с текстом и отказ от «скрытых» списков ключевых слов.
Читать далее
Корзина и оплата: сигналы доверия, которые реально поднимают конверсию
Гостевой заказ, прозрачная доставка, ошибки формы и юридические тексты — чеклист для корзины fashion- и сервисных магазинов на CMS.
Читать далее
Вайбкодинг в команде: как ускорить макеты без хаоса в бренде
Регламенты промптов, контроль носителей и точки согласования — чтобы AI не разъехался с гайдлайном.
Читать далее
От сценария до мастера: пайплайн корпоративного ролика
Бриф, сценарий, съёмка или сток, монтаж, графика и финальные форматы под площадки и согласования.
Читать далее
AI-генерации в рекламе: промпты, права и контроль качества
Как фиксировать стиль бренда в промптах, что проверять по правам и когда нужна ручная доработка.
Читать далее
Голос бренда: озвучка, подкаст и легальный саундтрек в роликах
Подбор голоса, запись, лицензии на музыку и финальный микс без сюрпризов при публикации.
Читать далее
Коллекция Kodak Apparel: обновлённый магазин и раздел новостей
Запуск витрины с полным каталогом, карточками товаров с составом и галереей, личным кабинетом и программой лояльности.
Читать далее
Доставка и ПВЗ: как оформить условия на сайте, чтобы снизить тревожность покупателя
Сроки, география, что происходит при задержке; единый стиль с уведомлениями по 152‑ФЗ.
Читать далее
Апсейл и сопутствующие товары: как предлагать больше без ощущения навязчивости
Правила сопоставления, контекст корзины и прозрачность выгоды.
Читать далее
Маркетплейс или собственная витрина: критерии выбора без мифов про «бесплатный трафик»
Комиссия vs бренд, доступ к клиенту и гибкость внедрения AI‑фишек.
Читать далее
Ecommerce‑события в Яндекс.Метрике: цели, сквозная аналитика и базовая гигиена
purchase, add_to_cart, step checkout; расхождения с реальностью и валидация в логах.
Читать далее
Возвраты, оферта и политика данных: что синхронизировать с интерфейсом
Единый язык юриста и UX; видимость условий до оплаты.
Читать далее
Интеграция остатков и цен: очереди, задержки и честность витрины
ERP → сайт: частота обновлений, обработка ошибок и что показывать при расхождении.
Читать далее
Фильтры каталога и пустая выдача: UX без тупика и SEO без дублей
Поведение при нуле результатов, ЧПУ фильтров и контроль индексации комбинаций.
Читать далее
Версии проекта в монтаже: архив, совместная работа и возврат к кадрам клиента
Именование, инкрементальные бэкапы и облако; как не потерять правки после «верните как вчера».
Читать далее
Экспорт для эфира и соцсетей: различия по кадру, гамме и громкости
Когда нужен отдельный мастер; метаданные и контейнеры MP4/MOV.
Читать далее
Субтитры для соцсетей: безопасные зоны, локализация и скорость чтения
Вертикаль и горизонталь, длина строки, переносы и корректный перевод терминов.
Читать далее
Свод звука: подкаст, рекламный ролик и подводные камни компрессии
Целевые LUFS для платформ, шум и клиппинг — без магических пресетов.
Читать далее
Колор и единообразие видеоряда: LUT, референсы и согласование с брендом
Как не получить «каждый ролик новый фильм»; практика палитры для серии интервью.
Читать далее
Офисная съёмка: подготовка площадки, свет и логистика за один день до
Реквизит, шум, розетки и безопасность; как не сорвать график из‑за мелочей.
Читать далее
Бриф на B2B‑ролик: вопросы, которые закрывают 80% согласований
Структура брифа: цель, аудитория, каналы, ограничения бренда и юридические табу.
Читать далее
Типографика и визуальная иерархия: как вести глаз без крика капсом
Масштабы шрифта, интерлиньяж и воздух между блоками; связь с контент‑стратегией.
Читать далее
Figma‑прототип и «боевой» код: где заканчивается кликабельный макет
Какие сценарии обязаны быть в прототипе; что тестировать уже на стейдже с реальными данными.
Читать далее
Брендбук и UI‑кит: что именно передавать в вёрстку после согласования
Граница между стратегией бренда и интерфейсными токенами; типичные потери информации при handoff.
Читать далее
Motion в продающем лендинге: уместная анимация вместо «кино на скролле»
Принципы duration/easing, prefers-reduced-motion и влияние на Core Web Vitals.
Читать далее
Мобильная навигация в 2026: паттерны меню, поиск и «липкие» CTA
Нижняя панель vs гамбургер; когда отдельная строка поиска оправдана; как не перекрывать контент плавающей кнопкой.
Читать далее
Контактные зоны и контраст: WCAG‑практика без фанатизма
Минимальные размеры зоны нажатия, фокус‑кольца и проверка цвета для форм на реальных устройствах.
Читать далее
Сетка и модули корпоративного сайта: ритм, брейкпоинты и повторяемые блоки
Как собрать лендинг из модулей без визуального зоопарка и лишних отступов на мобильных.
Читать далее
Дизайн‑система в Figma: компоненты, сосотояния и устойчивость к правкам
Как не утонуть в вариантах кнопок; auto layout, props и соглашения именования для передачи в разработку.
Читать далее
Синтетические медиа в рекламе: дисклеймеры, этика и практика РФ
Когда явно помечать сгенерированное изображение или видео; как не смешивать «похожесть» на реального человека.
Читать далее
Контекстное окно командных AI‑чатов: утечки, версии документов и дисциплина
Как команде не смешивать черновики; что нельзя кидать в общий корпоративный бот без NDA.
Читать далее
Качество текста: метрические ловушки и здравый смысл редактора
Почему «уникальность 95%» не гарантирует пользу; какие простые проверки стоит добавить к LLM‑выводу.
Читать далее
AI в монтаже коротких роликов: расшифровка, драфт монтажа и этика
Что можно автоматизировать на пост‑продакшне, а что ломает ритм и голос бренда.
Читать далее
AI для alt‑текстов: доступность, SEO и когда лучше писать вручную
Пакетная генерация подписей к медиа ускоряет тираж, но этика и точность остаются на людях.
Читать далее
RAG для базы знаний на сайте: что реалистично без команды из десяти инженеров
Минимальная архитектура: индекс документов, обновления, контроль галлюцинаций и ответственный редактор.
Читать далее
Чат-бот на сайте: логирование, ПДн и практичный минимум для РФ
Когда переписка — персональные данные; что хранить, как прозрачно написать в политике и как не растерять доверие.
Читать далее
Нейроретушь для каталога: инпейнт, фон и этические границы
Где автоматизация экономит часы студийной съёмки, а где вводит покупателя в заблуждение.
Читать далее
AI для описаний категорий интернет‑магазина: скелет и факты вручную
Как ускорить черновики витринных текстов, не придумывая характеристики товаров и не нарушая закон о рекламе.
Читать далее
Промпт‑регламент для маркетинговой команды: как не потерять тон бренда
Шаблоны запросов, запретные зоны и роль редактора при использовании LLM в ежедневной работе.
Читать далее
Каннибализация запросов: как найти конфликтующие страницы и вылечить
Две страницы отвечают на один интент — что измерять и какие стратегии слияния работают.
Читать далее
Контент‑календарь корпоративного сайта: связка блога, кейсов и продуктовых страниц
Как планировать публикации без «ради SEO» и не распылять команду на десять форматов.
Читать далее
Core Web Vitals глазами редактора: что в контенте ломает скорость
Тяжёлые встраивания, гигантские галереи и скрипты чата — как договориться с редакцией об ограничениях.
Читать далее
Кластеры запросов и перелинковка: связываем страницы осмысленно
Как избежать искусственных «SEO‑блоков» в футере и построить ссылки, которые помогают пользователю.
Читать далее
Локальное SEO: карты, НАП и представительства без дубликатов
Как выровнять название, адрес и телефон; работа с филиалами и витриной карт для РФ.
Читать далее
Переиндексация после редизайна: что отслеживать первые 30 дней
Чек‑лист наблюдения: скан, покрытие, скорость и ошибки шаблонов — без паники при временных просадках.
Читать далее
URL, хлебные крошки и переезды: как не потерять вес разделов
Читаемые адреса, единая логика вложенности и мягкие редиректы при смене структуры.
Читать далее
Мета‑заголовки и сниппеты в 2026: меньше кликбейта, больше ясности
Как писать title и description под людей и алгоритмы; почему шаблоны иногда ломают бренд.
Читать далее
Семантика для сайта услуг B2B: не проектировать как маркетплейс
Как отделить коммерческие интенты от информационных и не раздувать структуру «на все случаи».
Читать далее
Технический аудит сайта: минимальный протокол без лишних отчётов
Что проверить в первую очередь: скан, индекс, скорость и корректность метаданных — в формате чек‑листа для маркетолога.
Читать далее
Конвертация изображений: PNG, WebP и AVIF без артефактов на витрине
Как выбрать формат под тип картинки; политика fallback и контроль веса для каталога.
Читать далее
Музыка и саунд для рекламного ролика: стоки, лицензии, типичные ошибки
Почему «найду на YouTube» срывает публикацию; какие параметры уточнять у правообладателя перед монтажом.
Читать далее
Мокапы для презентаций и кейсов: шаблоны без визуального шума
Как показать интерфейс в контексте устройства и не перегрузить слайд; откуда брать шаблоны легально.
Читать далее
Цветовые системы: генераторы палитр, контраст и передача в код
Как собрать палитру, которая выдержит тёмную тему и требования доступности без ручных «угаданий».
Читать далее
3D и иллюстрации для B2B: источники, стиль и сроки согласования
Как не утонуть в «кинематографичном» рендере для сухого продукта и где взять базовые модели легально.
Читать далее
CDN и кеш статики: что реально ускоряет сайт в 2026 году
Когда CDN помогает, а когда создаёт лишние DNS‑запросы; как согласовать кеш с релизами и 152‑ФЗ.
Читать далее
Шрифты для коммерческого сайта: пары, лицензии и передача в вёрстку
Как собрать типографику без «легального серого»: веб‑лицензия, переменные начертания и fallback при медленной сети.
Читать далее
Иконки для интерфейса: бесплатные наборы и лицензии без сюрпризов
Как подобрать пиктограммы под дизайн‑систему, что проверить в лицензии и когда лучше заказать кастом.
Читать далее
Новый маркер здоровья рынка новостроек
Новый маркер здоровья рынка новостроек
Читать далее
Росреестр приступил к выполнению поручения вице-премьера Марата Хуснуллина по вовлечению земель в оборот
Росреестр приступил к выполнению поручения вице-премьера Марата Хуснуллина по вовлечению земель в оборот
Читать далее
«Москва-Сити» получит новый небоскреб
«Москва-Сити» получит новый небоскреб
Читать далее
Kodachrome: винтажный принт и новая линейка в духе плёночной эстетики
Футболки и свитшоты с графикой Kodachrome Film — жёлтый принт на чёрном, фактура «винтаж» и отсылка к наследию Kodak.
Читать далее
Комфорт побеждает романтику: Сбер зафиксировал разрыв между мечтами о загородной жизни и реальным выбором жилья1
Комфорт побеждает романтику: Сбер зафиксировал разрыв между мечтами о загородной жизни и реальным выбором жилья
Читать далее
Стартовал спецпроект «Аналитика в рынок» с бесплатными отчётами для девелоперов!
Стартовал спецпроект «Аналитика в рынок» с бесплатными отчётами для девелоперов!
Читать далее
Форум «Движение» соберет Минстрой, девелоперов и банки
Форум «Движение» соберет Минстрой, девелоперов и банки
Читать далее
Lookbook: жёлтое настроение Kodak Apparel и стритвир-эстетика
Съёмка на фоне фирменного жёлтого: футболки с логотипом Kodak, аксессуары и настроение urban lifestyle.
Читать далее
Комфорт побеждает романтику: Сбер зафиксировал разрыв между мечтами о загородной жизни и реальным выбором жилья
Комфорт побеждает романтику: Сбер зафиксировал разрыв между мечтами о загородной жизни и реальным выбором жилья
Читать далее
Счетная палата проверила расходы Минстроя и «Единого заказчика» за 2025 год
Счетная палата проверила расходы Минстроя и «Единого заказчика» за 2025 год
Читать далее
Рынок недвижимости вырос на 14% в апреле — данные М2
Рынок недвижимости вырос на 14% в апреле — данные М2
Читать далее
Премиальный трикотаж: капсула в цвете «крем» и образы дуэтом
Спортивные комплекты Kodak Apparel — мягкий трикотаж, мелкий логотип и крупный принт на спине: «Capture the final color».
Читать далее
Зампред думского комитета по экономической политике Артем Кирьянов - о причинах «просадки» ввода нового жилья – специально для «Белой каски».
Зампред думского комитета по экономической политике Артем Кирьянов - о причинах «просадки» ввода нового жилья – специально для «Белой каски».
Читать далее
Изнанка иммерсивного шоу
Изнанка иммерсивного шоу
Читать далееСуд вернётся к вопросу об активах VALO
Суд вернётся к вопросу об активах VALO. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
В Госдуме предложили создать на «Госуслугах» сервис жалоб на шумных соседей
В Госдуме предложили создать на «Госуслугах» сервис жалоб на шумных соседей
Читать далее
Курск лидирует по росту цен на студии
Курск лидирует по росту цен на студии — Мир квартир
Читать далее
Недостаточно средств — крупнейшая офисная сделка в Европе сорвалась
Недостаточно средств — крупнейшая офисная сделка в Европе сорвалась
Читать далее«Москва-Сити» получит новый небоскрёб
«Москва-Сити» получит новый небоскрёб. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
Застройщики Урала жалуются на «электрический тормоз»
Застройщики Урала жалуются на «электрический тормоз»
Читать далее
Маркетплейсы отнимают торговое поле у ТЦ
Маркетплейсы отнимают торговое поле у ТЦ
Читать далееФорум «Движение» соберёт Минстрой, девелоперов и банки
Форум «Движение» соберёт Минстрой, девелоперов и банки. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
Минстрой утвердил программу повышения производительности труда в строительстве до 2030 года
Минстрой утвердил программу повышения производительности труда в строительстве до 2030 года
Читать далее
В Армении может появиться «Обратная ипотека»
В Армении может появиться «Обратная ипотека»
Читать далееРынок недвижимости вырос на 14% в апреле — данные Минстроя
Рынок недвижимости вырос на 14% в апреле — данные Минстроя. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
Проектное финансирование «буксует» из-за высокой ключевой ставки и слабых продаж — эксперты
Проектное финансирование «буксует» из-за высокой ключевой ставки и слабых продаж — эксперты
Читать далееРасселение аварийного жилья выросло на 17% — Минстрой
Расселение аварийного жилья выросло на 17% — Минстрой. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
«Этажи» фиксируют перетекание депозитов в недвижимость
«Этажи» фиксируют перетекание депозитов в недвижимость
Читать далееРостовская область стала лидером по темпам строительства ИЖС
Ростовская область стала лидером по темпам строительства ИЖС. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
Рост тарифов ЖКХ проверит платежеспособность граждан — Эксперты
Рост тарифов ЖКХ проверит платежеспособность граждан — Эксперты
Читать далееАрхитекторы представили концепцию квартала у набережной
Архитекторы представили концепцию квартала у набережной. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееДевелоперы сократили сроки ввода жилья в регионах
Девелоперы сократили сроки ввода жилья в регионах. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееИпотечные ставки стабилизировались после весеннего спада
Ипотечные ставки стабилизировались после весеннего спада. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееГосуслуги: обновили порядок регистрации права на жильё
Госуслуги: обновили порядок регистрации права на жильё. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееЭксперты: спрос на офисы класса A вернулся к докризисному уровню
Эксперты: спрос на офисы класса A вернулся к докризисному уровню. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееВ Москве стартовало строительство социального жилья
В Москве стартовало строительство социального жилья. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееЗастройщики переходят на цифровой контроль качества на площадках
Застройщики переходят на цифровой контроль качества на площадках. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееНовые нормы энергоэффективности для жилых домов с 2027 года
Новые нормы энергоэффективности для жилых домов с 2027 года. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееСубсидии на ремонт фасадов расширили в трёх регионах
Субсидии на ремонт фасадов расширили в трёх регионах. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееПромышленные парки получат льготное кредитование
Промышленные парки получат льготное кредитование. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееАрхитектурный совет одобрил проект общественного центра
Архитектурный совет одобрил проект общественного центра. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееЦены на первичное жильё в агломерации замедлили рост
Цены на первичное жильё в агломерации замедлили рост. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееИЖС: спрос на проекты с готовыми коммуникациями вырос
ИЖС: спрос на проекты с готовыми коммуникациями вырос. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далееМинстрой обновил методику расчёта сроков расселения
Минстрой обновил методику расчёта сроков расселения. Краткий обзор событий в сфере строительства и недвижимости — материал подготовлен для демонстрации главной страницы.
Читать далее
Рекомендуемые блоки
Market Snapshot
Ипотека
16
материалов в актуальной ленте
Новостройки
3
материалов в актуальной ленте
Инфраструктура
1
материалов в актуальной ленте
Инвестиции
3
материалов в актуальной ленте







