Давайте посмотрим, что необходимо делать, чтобы адаптировать верстку и обеспечить стабильную работу сайта на разных устройствах.
Применяем медиазапросы для того, чтобы настроить стили в зависимости от ширины экрана. Так мы получаем возможность уменьшать шрифт на мобильных устройствах или добавлять дополнительные отступы, чтобы контент не «слипался».
Пример кода:
/* Для мобильных устройств */
body {
font-size: 14px;
}
/* Для экранов шириной от 768px */
@media (min-width: 768px) {
body {
font-size: 16px;
}
}
Flexbox и CSS Grid дают нам возможность создавать макеты, которые «тянутся» или сжимаются в зависимости от размера экрана.
Пример с Flexbox:
.container {
display: flex;
flex-wrap: wrap;
}
.item {
flex: 1 1 30%;
margin: 10px;
}
Пример с CSS Grid:
.container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
.item {
background-color: #f0f0f0;
padding: 20px;
}
Вместо фиксированных значений мы выбираем такие единицы измерения, как em, rem, %, чтобы размеры и отступы изменялись в зависимости от размера экрана.
Пример кода:
.container {
width: 80%;
padding: 2rem;
}
Такой подход позволяет оптимизировать скорость загрузки и повысить производительность для мобильных пользователей.
Пример кода:
Для мобильных устройст
в
body {
font-size: 14px;
}
Для экранов шириной от 768px
@media (min-width: 768px) {
body {
font-size: 16px;
}
}
Используем инструменты вроде BrowserStack или проверяем в режиме мобильных устройств в браузерах. Это помогает найти и устранить все проблемы до релиза.
🚀 Советы:
• Используйте max-width для медиазапросов, чтобы стили применялись на экранах с шириной меньше указанного значения.
• Применяйте min-width для добавления стилей на более крупных экранах.
• Активно используйте clamp() для динамической настройки размеров в зависимости от размера экрана.
• Всегда применяйте object-fit: cover; для изображений, чтобы они корректно масштабировались в контейнерах.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥7🥱4❤1👏1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁17⚡3
Если вам нужно быстро и эффективно разработать форму обратной связи с минимальными усилиями — не пренебрегайте Tailwind CSS.
Для удобства можно использовать данный запрос, но обязательно проверяйте на точность (нам выдал без метатега кодировки UTF-8).
PROMPT:
Generate a semantic HTML and Tailwind CSS "Contact Support" form consisting of the user's name, email, issue type, and message. The form elements should be stacked vertically and placed inside a card.
Также вы можете использовать универсальный промпт для других задач:
Generate a semantic and accessible HTML and (framework) CSS [UI component] consisting of [component parts]. The [component parts] should be [layout].
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚10💯4🤩1
Виртуальный DOM — вещь полезная, но не всемогущая. Если каждый клик запускает цепочку ререндеров, он не спасёт. Со временем даже шустрое React-приложение превращается в тормозящего гиганта.
Что в статье:
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6👍2🥱2
Иногда кажется, что жизнь — это просто список задач в Jira. Только без кнопки “Complete” и с багами в расписании. Когда работаешь фронтендером, особенно в стартапе или на жестком проекте, легко потеряться между фичами, срочными хотфиксами и «вот это надо было ещё вчера».
Моя история:
Был у меня период, когда я всерьёз думал, что «выйти в оффлайн» — это привилегия. Дни сливались в один длинный поток: созвон — коммит — правка — деплой — баг — снова правка.
Я ел на бегу, спал плохо, даже выходные проваливались в режим «да я тут чуть-чуть подфикшу, это на 5 минут» (никогда не 5 минут).
Однажды просто поймал себя на мысли:
«А я вообще живу, или просто существую между спринтами?»
С тех пор стал менять подход:
• Планировать не только работу, но и отдых. Прям в телефоне ставил напоминание «погулять» или «позвонить другу».
• Старался заканчивать день в нормальное время, даже если не всё сделал. Потому что «успеть всё» — это миф.
• Начал говорить честно команде, если не вывозил. Без героизма. Просто по-человечески.
• И главное — напоминал себе, что я не машина. Я не создан быть продуктивным 24/7.
Работа — важна. Но если ты сам выпадаешь из жизни, то и смысла в этих дедлайнах немного. А фронтенд — он никуда не денется. Зато твоё здоровье и счастье — может.
А вы как справляетесь, когда накрывает волной задач? Что помогает не терять себя?
Делитесь в комментариях
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
❤10👍4🥱3😢1🌚1
Интеграция библиотеки Zustand с React DevTools превращает её в мощный инструмент для быстрого отслеживания и отладки состояния в реальном времени.
npm install zustand
Или с использованием yarn:
yarn add zustand
Также убедитесь, что у вас установлены React DevTools в браузере.
import create from 'zustand';
import { devtools } from 'zustand/middleware';
const useStore = create(devtools((set) => ({
bears: 0,
increase: () => set((state) => ({ bears: state.bears + 1 })),
decrease: () => set((state) => ({ bears: state.bears - 1 }))
})));
Использование Redux DevTools для дополнительных функций
Если вы хотите использовать расширенные возможности, такие как time travel (перемещение по истории состояния), вы можете настроить Redux DevTools с Zustand.
npm install simple-zustand-devtools --dev
Или:
yarn add simple-zustand-devtools --dev
import create from 'zustand';
import { mountStoreDevtool } from 'simple-zustand-devtools';
const useStore = create((set) => ({
bears: 0,
increase: () => set((state) => ({ bears: state.bears + 1 })),
decrease: () => set((state) => ({ bears: state.bears - 1 }))
}));
if (process.env.NODE_ENV === 'development') {
mountStoreDevtool('Store', useStore);
}
Какие плюсы это использовать:
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥3👾1
До выхода React 19 процесс гидратации оставлял желать лучшего: проблемы с производительностью, избыточное выполнение JavaScript и задержки в интерактивности тормозили создание быстрых и отзывчивых приложений.
В статье рассказывается про то, как:
Как новые возможности React 19 помогут вам создавать быстрее загружающиеся и более отзывчивые приложения, читаем по ссылке
Статья
� Библиотека фронтендера
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9⚡2🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁20👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱3👍2🔥1
Твой выбор ⤵️
Anonymous Poll
49%
26%
8%
12%
4%
1%
🔥6👍1
Вот что тебе говорят боги сборки и ветра из продакшна (открывай одну картинку) 😰
🐸 Библиотека фронтенда
#междусобойчик
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁14🔥2🥱2
Автор делится продвинутыми приёмами TypeScript, включая использование infer, шаблонных литералов и других мощных фич.
Обзор изменений в управлении состоянием с приходом React Compiler и как это влияет на необходимость использования сторонних библиотек.
Zod предлагает декларативный подход к валидации схем с автоматическим выводом типов, упрощая разработку и повышая надёжность кода.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
На фото функция inner сохраняет ссылку на переменную count из функции outer, создавая замыкание.
#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9❤3⚡1😢1
Frontend Developer — удаленка/Офис (Москва/Санкт-Петербург)
Frontend Developer (Vue.js) — от 250 000 ₽, удаленно (Москва)
Разработчик JS (Middle) — от 150 000 ₽ до 300 000 ₽, удаленно (Казань)
Frontend-разработчик — офис (Санкт-Петербург)
Frontend-разработчик — 180 000 - 190 000 ₽, удаленно (Москва)
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍2👏1
FOUC (Flash of Unstyled Content) — это кратковременное отображение неоформленного HTML перед применением CSS, что может негативно сказаться на пользовательском опыте.
Почему возникает:
Как устранить:
<link rel="preload" href="/styles/main.css" as="style">
<style>
body { margin: 0; font-family: system-ui; }
</style>
Таким образом, мы обеспечиваем мгновенное появление базового оформления без скачков.
• Добавляем defer к скриптам
• Переносим второстепенные стили вниз
• Избавляемся от лишних <link> в <head>
Пересобираем графику в WebP или AVIF, уменьшаем вес — и пользователь видит контент быстрее.
Используем серверный рендеринг (Next.js, Astro и др.), чтобы отправлять уже отрендеренную страницу, а не заставлять браузер гадать, как это должно выглядеть.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤11👍4🔥2
Когда сроки горят, а разработчиков не хватает
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
Нехватка квалифицированных разработчиков, срывы дедлайнов и перегруз команды — эти проблемы знакомы большинству IT-руководителей. В условиях растущей конкуренции найти баланс между качеством реализации, сроками и бюджетом становится всё сложнее, особенно когда проект требует редких компетенций или быстрого масштабирования.
Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!
Что мы предлагаем:
• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA)
• Полноценная разработка проектов под ключ
• Гибкое масштабирование команды под потребности клиента
• Прозрачная коммуникация и регулярная отчетность
Для каждого проекта формируется индивидуальная команда, исходя из конкретных потребностей заказчика.
Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
👍5🥱5🔥1👏1