HTML-верстальщик / Front-end разработчик
Учитель FrontEnd/Scratch
Frontend-разработчик
Frontend Developer Vue.js / Senior
Frontend-разработчик (React)
Please open Telegram to view this post
VIEW IN TELEGRAM
Статья рассказывает об архитектуре Inverted Triangle CSS, которая помогает масштабировать и поддерживать крупные CSS проекты. Обсуждаются причины выбора, пошаговая реализация и сравнение с другими подходами.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте CSS-сетку, которая меняется в зависимости от размера экрана. Используйте CSS-переменные для задания отступов и ширины колонок, чтобы легко настраивать и менять их для разных разрешений экрана.
Решение задачи
:root {
--column-gap: 20px;
--row-gap: 20px;
--column-count: 3;
}
.container {
display: grid;
grid-template-columns: repeat(var(--column-count), 1fr);
gap: var(--row-gap) var(--column-gap);
}@media (max-width: 768px) {
:root {
--column-count: 2;
}
}@media (max-width: 480px) {
:root {
--column-count: 1;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
• Family Frontend Meetup #3
• Полезные рецепты ручного создания SVG
• Глассморфизм и SVG
• Генеративная графика — не только ИИ
• Мощь CSS-масок
Please open Telegram to view this post
VIEW IN TELEGRAM
Первая часть статьи даёт правила для Handlebars в Superset. Далее — готовый код HTML + CSS, который можно сразу использовать, и разбор CSS-элементов с объяснениями.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Напишите разметку и стили для отображения карточек товаров в сетке. Сетка должна адаптироваться к размеру экрана: на больших экранах отображать карточки в три колонки, на планшетах — в две, а на мобильных устройствах — в одну колонку. Карточки должны иметь тень, отступы и закруглённые углы, чтобы выглядеть как отдельные блоки.
Решение задачи
<div class="product-grid">
<div class="product-card">Товар 1</div>
<div class="product-card">Товар 2</div>
<div class="product-card">Товар 3</div>
<div class="product-card">Товар 4</div>
<div class="product-card">Товар 5</div>
<div class="product-card">Товар 6</div>
</div>
/* Основной контейнер */
.product-grid {
display: grid;
gap: 20px;
padding: 20px;
}
/* Стили карточек */
.product-card {
background-color:#f9f9f9 ;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
text-align: center;
}
/* Три колонки на больших экранах */@media (min-width: 1024px) {
.product-grid {
grid-template-columns: repeat(3, 1fr);
}
}
/* Две колонки на планшетах */@media (min-width: 768px) and (max-width: 1023px) {
.product-grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* Одна колонка на мобильных */@media (max-width: 767px) {
.product-grid {
grid-template-columns: 1fr;
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
Full Stack JavaScript Developer (Junior/Middle)
Junior Frontend Developer
Junior React Разработчик
Frontend-разработчик (junior)
PHP-разработчик (junior/junior+) / backend / fullstack
Please open Telegram to view this post
VIEW IN TELEGRAM
Стильная карточка-портфолио с анимированными кнопками. Сделан на Svg, SCSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
object-fit в CSS?Свойство
object-fit позволяет управлять масштабированием содержимого (например, изображений или видео) внутри контейнера, не искажая его соотношение сторон. Это особенно полезно при создании адаптивных и аккуратных галерей.cover:.container {
width: 300px;
height: 200px;
overflow: hidden;
}
.container img {
width: 100%;
height: 100%;
object-fit: cover;
}🗣 Свойство object-fit помогает контролировать отображение изображений в контейнерах, не растягивая и не искажая их.
Please open Telegram to view this post
VIEW IN TELEGRAM
Frontend-разработчик Middle
Middle Frontend Developer
Javascript middle frontend developer
Middle frontend-разработчик
Junior+/middle frontend разработчик
Please open Telegram to view this post
VIEW IN TELEGRAM
В мире веб-разработки оптимизация времени загрузки страниц имеет решающее значение. Два мощных атрибута тега
<script> — async и defer — могут существенно повлиять на производительность сайта. Использование этих атрибутов без их глубокого понимания может негативно сказаться на производительности и привести к ошибкам. Давайте начнём с основ и узнаем, что делают эти атрибуты и когда их следует использовать.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Создайте переключатель, позволяющий пользователю менять тему страницы между светлой и тёмной. При переключении должна происходить плавная анимация перехода. Реализуйте переключение тем с помощью CSS-переменных и JavaScript.
Решение задачи
<div class="theme-toggle">
<label class="switch">
<input type="checkbox" id="theme-switcher">
<span class="slider"></span>
</label>
<p>Нажмите, чтобы переключить тему</p>
</div>
/* Переменные для тем */
:root {
--bg-color-light:#ffffff ;
--bg-color-dark: #333333;
--text-color-light: #000000;
--text-color-dark:#ffffff ;
--transition-duration: 0.3s;
}
/* Общие стили */
body {
background-color: var(--bg-color-light);
color: var(--text-color-light);
transition: background-color var(--transition-duration), color var(--transition-duration);
}
/* Тёмная тема */
body.dark-theme {
background-color: var(--bg-color-dark);
color: var(--text-color-dark);
}
/* Стили для переключателя */
.theme-toggle {
display: flex;
align-items: center;
gap: 10px;
margin-top: 20px;
}
.switch {
position: relative;
display: inline-block;
width: 50px;
height: 24px;
}
.switch input {
opacity: 0;
width: 0;
height: 0;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color:#ccc ;
border-radius: 24px;
transition: background-color var(--transition-duration);
}
.slider:before {
position: absolute;
content: "";
height: 18px;
width: 18px;
left: 4px;
bottom: 3px;
background-color: white;
border-radius: 50%;
transition: transform var(--transition-duration);
}
input:checked + .slider {
background-color:#2196F3 ;
}
input:checked + .slider:before {
transform: translateX(26px);
}
document.getElementById('theme-switcher').addEventListener('change', (event) => {
document.body.classList.toggle('dark-theme', event.target.checked);
});
Please open Telegram to view this post
VIEW IN TELEGRAM
Карточки товаров с интересным решением для кнопки. Сделаны на SCSS.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
Разработчик Frontend (React)
Senior Frontend Developer (React + Tailwind CSS)
Frontend Developer (Middle+/Senior)
Senior frontend-разработчик
Frontend-разработчик Middle+ / Senior
Please open Telegram to view this post
VIEW IN TELEGRAM
Сегодня я решил, что мы создадим HTML веб-компонент с нуля. Давайте создадим компонент, показывающий и скрывающий текст при переключении кнопки.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Свойство
box-shadow в CSS позволяет добавлять тень к элементам. Вы можете задавать смещение по оси X и Y, размытие, размер растяжения и цвет тени. Это свойство особенно полезно для создания эффектов глубины и фокусировки на важных элементах интерфейса./* Пример тени с мягким размытием */
.box {
width: 200px;
height: 100px;
background-color: #3498db;
box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.3);
}
🗣️ В этом примере тень создается с отступом в 10px по оси X и Y, с размытием 20px и полупрозрачным черным цветом. box-shadow позволяет экспериментировать с глубиной, добавляя акценты к элементам интерфейса.
Please open Telegram to view this post
VIEW IN TELEGRAM
Team Lead Frontend-разработчик
Lead Frontend Developer
Lead Frontend
Руководитель группы разработчиков (Frontend Team Lead)
Lead frontend-разработчик (Vue)
Please open Telegram to view this post
VIEW IN TELEGRAM
В статье показан процесс развертывания React-приложения на сервере: от упаковки кода в CI/CD до отправки его в прод. Всё на примере простого to-do приложения.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
Многие тратят кучу энергии, чтобы везде поспеть: освоить новое, прокачать скиллы, закрыть дедлайны. Но часто за спешкой скрывается отсутствие направления. И пока ты гонишься за всем сразу, фокус на том, что действительно важно, ускользает.
Please open Telegram to view this post
VIEW IN TELEGRAM