This media is not supported in your browser
VIEW IN TELEGRAM
Как сделать fluid sizing аккуратнее с помощью
В свежем разборе показали, как CSS-функция
Смысл в том, что вместо дробных и не всегда удобных значений можно получать более предсказуемый результат с нужным шагом округления. В итоге вёрстка выглядит чище, а поведение размеров становится стабильнее и понятнее.
Хороший приём для тех, кто хочет сделать адаптивную типографику и spacing более контролируемыми.
#CSS #frontend #typography
round()В свежем разборе показали, как CSS-функция
round() помогает «причесать» значения, которые вычисляются через clamp(). Это особенно полезно для адаптивных размеров: шрифтов, отступов, блоков и других элементов интерфейса.Смысл в том, что вместо дробных и не всегда удобных значений можно получать более предсказуемый результат с нужным шагом округления. В итоге вёрстка выглядит чище, а поведение размеров становится стабильнее и понятнее.
Хороший приём для тех, кто хочет сделать адаптивную типографику и spacing более контролируемыми.
#CSS #frontend #typography
Адаптивные изображения в HTML
Тег
Браузер проверяет теги
Если
#HTML #адаптивность #frontend
Тег
<picture> нужен, когда для разных устройств или сценариев показа требуется подставлять разные версии одной картинки.<picture> <source srcset="320.jpg" media="(max-width: 800px)"> <img src="640.jpg" alt="..."></picture>Браузер проверяет теги
<source> сверху вниз и берёт первый вариант, который подходит под текущие условия. Остальные после этого уже не рассматриваются.Если
<picture> не поддерживается или ни один <source> не сработал, будет показано изображение из тега <img>.#HTML #адаптивность #frontend
❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Полезный open-source инструмент для UI: веб-компонент, который сам собирает skeleton-заглушки с shimmer-эффектом прямо на основе реального интерфейса.
Что удобно:
— не приходится вручную делать отдельные skeleton-компоненты
— лоадер строится по фактической структуре DOM
— можно гибко настраивать shimmer и внешний вид
— подходит для React, Vue, Svelte и других фреймворков
Хороший вариант, если хочется быстрее навести порядок в состоянии загрузки и не тратить время на дублирование разметки.
#frontend #ui #opensource
Что удобно:
— не приходится вручную делать отдельные skeleton-компоненты
— лоадер строится по фактической структуре DOM
— можно гибко настраивать shimmer и внешний вид
— подходит для React, Vue, Svelte и других фреймворков
Хороший вариант, если хочется быстрее навести порядок в состоянии загрузки и не тратить время на дублирование разметки.
#frontend #ui #opensource
Как сделать
Частая ошибка — ставить футер через
Проще и надёжнее решить это на flex:
Дальше достаточно для
#css #flexbox #frontend
sticky footer без layout-багов?Частая ошибка — ставить футер через
position: fixed; bottom: 0;. На практике он нередко перекрывает контент и особенно неприятно ведёт себя на мобильных.Проще и надёжнее решить это на flex:
body {
display: flex;
flex-direction: column;
min-height: 100dvh;
}Дальше достаточно для
footer задать margin-top: auto; — и он сам уйдёт к нижней границе страницы, забрав всё свободное место сверху. Такой подход не требует JS и лишних расчётов. Как и в уходе, где важна база, а не маскировка симптомов — кстати, похожий подход часто разбирают в канале про кожу, уход и косметологию.#css #flexbox #frontend
Как быстро подружить frontend и backend
Частая проблема в учебных и pet-проектах: фронт и бэк запускаются по отдельности, а на этапе связки начинаются ошибки, пустые ответы и сломанное отображение.
Здесь идея простая: на небольшом примере буквально в 30–40 строк кода показано, как наладить обмен данными между двумя частями приложения. Без перегруза теорией — только базовая интеграция, вывод текста и картинок, плюс понимание, как это работает в реальном проекте.
Хороший разбор для тех, кто осваивает fullstack и хочет уверенно понять основу взаимодействия клиента и сервера.
#frontend #backend #fullstack
Частая проблема в учебных и pet-проектах: фронт и бэк запускаются по отдельности, а на этапе связки начинаются ошибки, пустые ответы и сломанное отображение.
Здесь идея простая: на небольшом примере буквально в 30–40 строк кода показано, как наладить обмен данными между двумя частями приложения. Без перегруза теорией — только базовая интеграция, вывод текста и картинок, плюс понимание, как это работает в реальном проекте.
Хороший разбор для тех, кто осваивает fullstack и хочет уверенно понять основу взаимодействия клиента и сервера.
#frontend #backend #fullstack
❤3🔥2🥰1👏1
Как вынести веб-компонент в отдельное плавающее окно
Мало кто знает, но Picture-in-Picture умеет не только видео. Document Picture-in-Picture API позволяет открыть в отдельном плавающем окошке вообще любой HTML — кнопки, формы, готовые компоненты. И оно остаётся поверх других окон, пока вы работаете на основной странице.
Звучит удобно: берёшь уже собранный компонент и переиспользуешь его вне основного документа. Но есть нюанс — новое окно не наследует стили и зависимости автоматически. Так что
Штука нишевая, но для дашбордов, плееров и мини-панелей управления заходит отлично.
#API #JavaScript #frontend
Мало кто знает, но Picture-in-Picture умеет не только видео. Document Picture-in-Picture API позволяет открыть в отдельном плавающем окошке вообще любой HTML — кнопки, формы, готовые компоненты. И оно остаётся поверх других окон, пока вы работаете на основной странице.
Звучит удобно: берёшь уже собранный компонент и переиспользуешь его вне основного документа. Но есть нюанс — новое окно не наследует стили и зависимости автоматически. Так что
CSS и скрипты придётся прокинуть туда руками, иначе получите голую разметку без оформления.Штука нишевая, но для дашбордов, плееров и мини-панелей управления заходит отлично.
#API #JavaScript #frontend
🔥3❤1👏1😁1🎉1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
Автозаполнение инпута через <datalist>
Мало кто пользуется этим тегом, а зря.
Главное отличие от
▪️ select — жёсткий список, ввести своё значение нельзя
▪️ datalist — это подсказки: можно выбрать из списка или напечатать что угодно вручную
По сути получаешь автодополнение на чистом HTML, без единой строчки JS. Удобно для поиска, форм и полей с частыми вариантами.
#HTML #frontend #datalist
Мало кто пользуется этим тегом, а зря.
<datalist> хранит набор опций (<option>), которые всплывают подсказками для поля ввода. Пользователь выбирает вариант — и значение подставляется в связанный <input>.Главное отличие от
<select> в свободе выбора:▪️ select — жёсткий список, ввести своё значение нельзя
▪️ datalist — это подсказки: можно выбрать из списка или напечатать что угодно вручную
По сути получаешь автодополнение на чистом HTML, без единой строчки JS. Удобно для поиска, форм и полей с частыми вариантами.
#HTML #frontend #datalist
🎉3🤩2⚡1🔥1💯1
Как связать HTML-атрибуты и CSS без классов
Оказывается, можно строить адаптивные компоненты вообще без modifier-классов и прокидывания props. Помогают две вещи: container style queries и продвинутый
Суть проста:
• HTML-атрибуты напрямую задают CSS-параметры — значение из атрибута попадает прямо в стиль
• дочерние элементы меняют вид, реагируя на состояние родителя-контейнера
В итоге меньше классов-модификаторов, меньше лишней логики в разметке и никакого ручного проброса состояний вниз по дереву. Стили становятся ближе к самому HTML, а компонент — чище и понятнее
Штука свежая, поэтому перед боевым использованием стоит проверить поддержку в браузерах
#CSS #HTML #frontend
Оказывается, можно строить адаптивные компоненты вообще без modifier-классов и прокидывания props. Помогают две вещи: container style queries и продвинутый
attr()Суть проста:
• HTML-атрибуты напрямую задают CSS-параметры — значение из атрибута попадает прямо в стиль
• дочерние элементы меняют вид, реагируя на состояние родителя-контейнера
В итоге меньше классов-модификаторов, меньше лишней логики в разметке и никакого ручного проброса состояний вниз по дереву. Стили становятся ближе к самому HTML, а компонент — чище и понятнее
Штука свежая, поэтому перед боевым использованием стоит проверить поддержку в браузерах
#CSS #HTML #frontend
❤2🎉2🔥1😁1🤩1👌1💯1🤓1
initial-scale в viewport уже лишний
Многие по привычке пишут в шапке страницы:
Но для современных браузеров хватает и короткого варианта:
Параметр
Итог простой: чуть чище шаблон, меньше лишнего в
#viewport #frontend #HTML
Многие по привычке пишут в шапке страницы:
<meta name="viewport" content="width=device-width, initial-scale=1.0">Но для современных браузеров хватает и короткого варианта:
<meta name="viewport" content="width=device-width">Параметр
initial-scale=1.0 остался с тех времён, когда мобильные движки масштабировали страницы по-своему. Сейчас он не решает реальных задач — адаптивность от этого не страдает.Итог простой: чуть чище шаблон, меньше лишнего в
head и одинаковое поведение на экранах.#viewport #frontend #HTML
❤3👍2😁2🔥1🤩1
This media is not supported in your browser
VIEW IN TELEGRAM
🤔 Полезная база для фронтендеров — большая подборка статей, гайдов и справочников по веб-разработке
Упор сделан на HTML, CSS и JavaScript, плюс современную вёрстку: от базовых принципов до рабочих приёмов, которые реально применяют в проектах.
Что внутри:
• Flexbox и Grid
• адаптивная вёрстка и типографика
• доступность (accessibility)
• оптимизация и работа с изображениями
• CSS-анимации
Удобно, когда под рукой есть структурированный справочник — не нужно каждый раз гуглить одно и то же. Особенно выручает на старте, когда тонешь в десятках свойств CSS и хочется систематизировать знания.
#frontend #CSS #JavaScript
Упор сделан на HTML, CSS и JavaScript, плюс современную вёрстку: от базовых принципов до рабочих приёмов, которые реально применяют в проектах.
Что внутри:
• Flexbox и Grid
• адаптивная вёрстка и типографика
• доступность (accessibility)
• оптимизация и работа с изображениями
• CSS-анимации
Удобно, когда под рукой есть структурированный справочник — не нужно каждый раз гуглить одно и то же. Особенно выручает на старте, когда тонешь в десятках свойств CSS и хочется систематизировать знания.
#frontend #CSS #JavaScript
🎉3❤2🔥2⚡1🥰1💯1
overflow: hidden ≠ обрезка контента
Многие ставят
Побочки такие:
— ломается поведение
— путается программная прокрутка
— сбивается поиск ближайшего скролл-контейнера
Если прокрутка вообще не нужна, бери более точное значение:
Контент так же обрезается, но контейнер прокрутки не создаётся. Поэтому
Бонус — можно отодвинуть линию обрезки:
Удобно, когда нужно оставить пару пикселей под тень или другой визуальный эффект.
Важно: clip не заменяет hidden полностью — если блок реально должен прокручиваться, clip не подойдёт.
#CSS #frontend #overflow
Многие ставят
overflow: hidden, когда нужно просто обрезать то, что вылезает за границы блока. Но есть нюанс: это свойство делает элемент контейнером прокрутки — даже если полос прокрутки нет.Побочки такие:
— ломается поведение
position: sticky— путается программная прокрутка
— сбивается поиск ближайшего скролл-контейнера
Если прокрутка вообще не нужна, бери более точное значение:
.wrapper { overflow: clip; }Контент так же обрезается, но контейнер прокрутки не создаётся. Поэтому
sticky внутри будет ориентироваться на внешний скролл, а не застревать на обёртке.Бонус — можно отодвинуть линию обрезки:
.wrapper { overflow-clip-margin: 8px; }Удобно, когда нужно оставить пару пикселей под тень или другой визуальный эффект.
Важно: clip не заменяет hidden полностью — если блок реально должен прокручиваться, clip не подойдёт.
#CSS #frontend #overflow
👏3💯2🥰1😁1