Логово верстальщика
Ir al canal en Telegram
Логово верстальщиков: HTML, CSS, JavaScript, практики современной верстки, вайбкодинг и использование ИИ в разработке. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin
Mostrar más8 252
Suscriptores
-624 horas
-197 días
+7230 días
Archivo de publicaciones
8 248
👩💻 8 важнейших аспектов JavaScript, которые нужно освоить до изучения React
Изучение React без прочной базы JavaScript похоже на строительство дома без фундамента. В этой статье разберем 8 ключевых концепций, которые помогут тебе уверенно чувствовать себя в React-разработке и писать качественный код.
Читать...
8 248
🔝 Самые интересные статьи за последние дни:
• Знакомьтесь: input, output и model. Новые функции в Angular
• Мой путь в мире веб-рендеринга: от статических страниц к гибридным архитектурам
• Новый этап эволюции Vue — Vapor
• Как сделать один плагин сразу для всех сборщиков фронтенда?
• Личный опыт: добавление микроразметки на сайт
8 248
👩💻 Адаптивный блок с равными колонками
Создайте адаптивный блок, который содержит три колонки одинаковой ширины. На больших экранах (от 1024px) колонки должны располагаться в один ряд, на планшетах (от 768px до 1023px) — в два ряда по две и одну, а на мобильных устройствах (до 767px) — каждая колонка должна занимать всю ширину.
Ожидаемое поведение:
• На больших экранах: три колонки в один ряд.
• На планшетах: две колонки в первом ряду, одна во втором.
• На мобильных: каждая колонка занимает всю ширину.
Решение задачи🔽
<div class="container"> <div class="column">Колонка 1</div> <div class="column">Колонка 2</div> <div class="column">Колонка 3</div> </div> .container { display: flex; flex-wrap: wrap; gap: 16px; /* Отступы между колонками */ margin: 0 auto; max-width: 1200px; } .column { background-color: #4CAF50; color: white; padding: 20px; text-align: center; border-radius: 8px; flex: 1 1 calc(33.333% - 16px); /* Для больших экранов */ box-sizing: border-box; } /* Планшеты: две колонки в первом ряду */ @media (max-width: 1023px) { .column { flex: 1 1 calc(50% - 16px); } } /* Мобильные устройства: одна колонка в строке */ @media (max-width: 767px) { .column { flex: 1 1 100%; } }
8 248
Мифы о бухгалтерском учете
Разобрали заблуждения специалистов и дадим практические рекомендации
Узнать больше
#реклама 16+
О рекламодателе
8 248
👩💻 Всё ли ты знаешь о работе с асинхронностью?
Думаете, что знаете вообще все об асинхронности в JavaScript? Уверены, что так оно и есть. Но проверить свои знания никогда не помешает — для этого как раз собрали эту небольшую викторину.
Читать...
8 248
👩💻 CSS Веерное раскрытие с
grid и @property
Анимация веерное раскрытие подразумевает последовательное раскрытие элементов из стопки с эффектом подпрыгивания. Используя CSS grid, мы избавляемся от лишней работы по позиционированию.
Читать...8 248
👩💻 Сравнение способов отрисовки спрайтов в canvas
Статья описывает исследование различных методов отрисовки изображений в HTML5 Canvas для браузерных игр с мультиплеером. Автор делится находками по оптимизации производительности, основанными на проекте для курсовой.
Читать...
8 248
👩💻 Шорткаты VS Code, с которыми ввод кода напоминает игру на пианино
Застряли в замкнутом круге "клавитура-мышка", из-за которого устаете и теряете время при написании кода? Представляем вашему вниманию полезные шорткаты VS Code, которые избавят от этих проблем.
Читать...
8 248
👩💻 Создание адаптивного круга с текстом по центру
Создайте круглый элемент с текстом по центру. Круг должен адаптироваться под размер экрана: на больших экранах его размер — 200px, на планшетах — 150px, а на мобильных устройствах — 100px.
Ожидаемое поведение:
• Круглый элемент с текстом по центру.
• Размер круга меняется в зависимости от ширины экрана.
Решение задачи🔽
<div class="circle">Текст</div> .circle { display: flex; align-items: center; justify-content: center; background-color: #4CAF50; color: white; border-radius: 50%; text-align: center; font-size: 1.2em; } /* Размер для больших экранов */ @media (min-width: 1024px) { .circle { width: 200px; height: 200px; } } /* Размер для планшетов */ @media (min-width: 768px) and (max-width: 1023px) { .circle { width: 150px; height: 150px; } } /* Размер для мобильных устройств */ @media (max-width: 767px) { .circle { width: 100px; height: 100px; } }
8 248
⚙️ Напоминание, что scope и блоки стилей HTML — это мощное сочетание
Существует так много различных инструментов для написания CSS с ограниченной областью видимости с очень разными взглядами на то, как это делать. Иногда это лишь подфункция инструмента, выполняющего другие задачи. Но, как правило, это концепция, требующая инструментария для реализации.
Читать...
8 248
👩💻 В чем разница между
em и rem в CSS?
В CSS em и rem — это относительные единицы измерения, используемые для задания размеров шрифтов, отступов, полей и других стилей. em основывается на размере шрифта родителя, тогда как rem ориентирован на размер шрифта корневого элемента (html), что делает его предсказуемым и удобным для масштабирования.
➡️ Пример:
html {
font-size: 16px; /* Базовый размер шрифта */
}
.container {
font-size: 2em; /* 32px, основывается на размере родителя */
margin: 1rem; /* 16px, независимо от родителя */
}
🗣️ Использование rem помогает сохранить консистентность размеров при вложенных элементах, а em подходит для адаптивного дизайна, когда размеры зависят от родителей.🖥 Подробнее тут
8 248
👩💻 Dropdown Menu Effects
Анимированное выпадающее меню с переливающимся эффектом. Сделано на SCSS и TypeScript.
Открыть код...
8 248
👩💻 Создание карточки с изображением и текстом
Создайте карточку, которая содержит изображение, заголовок и описание. Карточка должна иметь тень, плавно увеличиваться при наведении и иметь отступы для аккуратного отображения содержимого.
Ожидаемое поведение:
• Изображение находится в верхней части карточки.
• Под изображением — заголовок и краткое описание.
• Карточка при наведении увеличивается и добавляет лёгкую тень.
Решение задачи🔽
<div class="card"> <img src="https://via.placeholder.com/300x200" alt="Card Image" class="card-img"> <h3 class="card-title">Заголовок карточки</h3> <p class="card-description">Это краткое описание для карточки. Оно даёт представление о содержимом.</p> </div> .card { width: 300px; border-radius: 8px; overflow: hidden; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); transition: transform 0.3s, box-shadow 0.3s; } .card:hover { transform: scale(1.05); box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2); } .card-img { width: 100%; height: auto; } .card-title { margin: 16px; font-size: 1.2em; } .card-description { margin: 0 16px 16px; font-size: 0.9em; color: #555; }
8 248
👩💻 Проблема с new URL(), и как URL.parse() её решает
Часто приходится анализировать множество URL-адресов. Частично для их проверки, а также для нормализации или извлечения определённых частей из URL. API URL в браузерах позволяет это делать, но его эргономика не идеальна.
Читать...
8 248
🔝 Самые интересные статьи за последние дни:
• Отладка и мониторинг в MobX: trace, introspection и spy
• Пара шаблонов кастомизированных элементов Handlebars для Apache Superset — 2
• PHP и Laravel дайджест новостей за октябрь 2024 года
• Битва титанов: натив, кроссплатформа и PWA – ищем плюсы и минусы на каждом этапе разработки
• Внедрение методики решения проблем 8D на производственном предприятии в виде SRM/ERP-систем/Часть 1
8 248
👩💻 Ищем Frontend разработчиков. Релокейт, удалёнка, платим много!
Специально для Вас, собираем лучшие вакансии, только с прямыми контактами в Telegram!
👩💻 Frontend 👩💻 Node.js
👩💻 Python 👣 Go
🖼️ PHP 👩💻 DevOps
👩💻 C# 👩💻 Java
🔎 QA 🖥 SQL
👩💻 UX/UI 👨✈️ CyberSec
👩💻 Mobile 📋 Analyst
💼 1C 👨✈️ Cybersecurity
👩💻 IT HR 🤖 ML & DS
Подпишись чтобы не упустить свой шанс получить лучший оффер!
8 248
👩💻 Стилизация кнопки с эффектом наведения
Создайте кнопку, которая меняет цвет фона и добавляет лёгкую тень при наведении. При обычном состоянии кнопка должна иметь закруглённые углы и немного увеличиваться при наведении для визуального акцента.
Ожидаемое поведение:
• Основной цвет фона кнопки — синий
(#007BFF).
• При наведении цвет фона становится темно-синим (#0056b3), добавляется тень, и кнопка слегка увеличивается.
Решение задачи🔽
<button class="styled-button">Нажми меня</button> .styled-button { background-color: #007BFF; color: white; padding: 10px 20px; border: none; border-radius: 8px; cursor: pointer; font-size: 16px; transition: background-color 0.3s, transform 0.3s, box-shadow 0.3s; } .styled-button:hover { background-color: #0056b3; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); transform: scale(1.05); }
8 248
👩💻 CSS единицы измерения: lh и rlh
Изучение новых относительных единиц измерения CSS основанных на высоте строки и позволяющих отказаться от угадывания вертикального ритма.
Смотреть…
8 248
Repost from Frontender's notes [ru]
Supply Chain атака на npm: Shai-Hulud — угроза, которая заражает проекты
Недавняя атака на экосистему npm под названием Shai-Hulud привлекла внимание разработчиков по всему миру. Это масштабная supply chain атака, которая затронула более 500 пакетов, включая популярные библиотеки, такие как
ngx-toastr, tinycolor, react-jsonschema-form-extras и пакеты от CrowdStrike.
❌ Заражённые пакеты содержат вредоносный скрипт bundle.js. Этот скрипт запускает TruffleHog для поиска секретных данных, таких как GitHub токены, NPM ключи или AWS креды, и отправляет их на внешний сервер. Дополнительно создаётся вредоносный workflow в папке .github/workflows, который будет автоматически запускаться при каждом CI-процессе. В итоге, атака действует как червь, распространяясь через каждый новый пакет, заражая downstream-проекты.ℹ️ Что делать разработчикам
• Проверить проекты на наличие заражённых версий пакетов • Ротировать npm-токены, GitHub PAT и облачные креды, чтобы минимизировать последствия • Аудитировать CI/CD конфигурации для выявления подозрительных изменений • Обновлять пакеты только из доверенных источников, избегать использования сомнительных версий📌 Supply chain атаки становятся всё более изощрёнными и опасными. Ранее мы переживали только за typosquatting, а теперь столкнулись с реальными «npm-червями», которые могут заразить проекты на всех уровнях. Если вы работаете с публичными пакетами, регулярный аудит зависимостей и CI/CD — теперь часть обязательной практики. 🚪 Frontender's notes
8 248
👩💻 Remove anchor from URL
Завершите функцию/метод так, чтобы он возвращал URL с чем-либо после удаления привязки (
#).
Пример кода:
"www.codewars.com#about" --> "www.codewars.com" "www.codewars.com?page=1" -->"www.codewars.com?page=1"
Решение задачи🔽
function removeUrlAnchor(url) { return url.split('#')[0]; } // Примеры использования console.log(removeUrlAnchor("www.codewars.com#about")); // "www.codewars.com" console.log(removeUrlAnchor("www.codewars.com?page=1")); // "www.codewars.com?page=1"
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
