Логово верстальщика
前往频道在 Telegram
Логово верстальщиков: HTML, CSS, JavaScript, практики современной верстки, вайбкодинг и использование ИИ в разработке. Личный блог автора - @just_genych По вопросам рекламы или разработки: @g_abashkin
显示更多8 252
订阅者
-624 小时
-197 天
+7230 天
帖子存档
8 252
👩💻 Стилизация кнопки с эффектом наведения
Создайте кнопку, которая меняет цвет фона и добавляет лёгкую тень при наведении. При обычном состоянии кнопка должна иметь закруглённые углы и немного увеличиваться при наведении для визуального акцента.
Ожидаемое поведение:
• Основной цвет фона кнопки — синий
(#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 252
👩💻 CSS единицы измерения: lh и rlh
Изучение новых относительных единиц измерения CSS основанных на высоте строки и позволяющих отказаться от угадывания вертикального ритма.
Смотреть…
8 252
👩💻 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"
8 252
👩💻 Реализация интерактивной карты
Наглядный пример того, как с помощью JS API можно создавать нестандартные интерактивные карты. Яндекс Еда опубликовала исследование самых характерных блюд в городах в России и для визуализации использовала решение от API Яндекс Карт. Оно удобно тем, что позволяет легко и быстро настраивать цвета и детальность карты, убирать или добавлять нужную информацию.
Читать...
8 252
🎯 Ставь цели на день через "3 приоритета"
Начал день с длинного списка задач, а к вечеру понял, что толком ничего не сделал? Это классический перегруз.
👉 Совет: каждое утро выделяй три главных задачи на день — именно те, что реально сдвинут твои дела вперёд. Всё остальное — бонусы. Такая простая фокусировка помогает делать важное, а не тонуть в рутине.
8 252
🤔 Разбираемся с цветами: пространства, иллюзии и квантование
Статья исследует природу цвета, его восприятие и обработку. Рассмотрим дискретизацию, цветовые модели, пространство и причины несоответствия при передаче изображений. Узнайте, что скрывается за HEX-кодами.
Читать...
8 252
⚙️ Что такое
AbortController в JavaScript и зачем он используется?
AbortController — это API, который позволяет отменять асинхронные операции, такие как запросы fetch. Это полезно для предотвращения утечек ресурсов и отмены операций, которые больше не нужны.
➡️ Пример:
const controller = new AbortController();
const signal = controller.signal;
// Отправляем запрос с возможностью отмены
fetch('https://jsonplaceholder.typicode.com/posts', { signal })
.then(response => response.json())
.then(data => console.log(data))
.catch(err => {
if (err.name === 'AbortError') {
console.log('Запрос был отменён');
} else {
console.error(err);
}
});
// Отмена запроса через 500 мс
setTimeout(() => controller.abort(), 500);
🗣️ В этом примере AbortController отменяет запрос через 500 мс. Это позволяет избежать обработки ненужных данных, если, например, пользователь покинул страницу или отменил действие.🖥 Подробнее тут
8 252
⚙️ 9 open source библиотек для вашего следующего проекта
Разработчики часто сталкиваются с выбором, какие инструменты использовать для своего следующего проекта. Даже если вы серьёзно настроены на разработку продукта, проблема остаётся той же.
В этой статье я расскажу о 9 библиотеках с открытым исходным кодом, которые улучшат ваш проект.
Читать...
8 252
📈 Подборка статей для вашей карьеры
• Как сделать резюме, которое дойдёт до работодателя. Фильтры ATS в 2025 году
• Ошибайся смело: жизненные уроки из мира machine learning
• Как учиться во взрослом возрасте: 7 советов, проверенных на практике
• Нейросети, чат-бот и диджитал-адаптация: цифровые инструменты внутрикома
• Долгосрочная стабильность vs. карьерная мобильность
8 252
⚙️ Кнопки с несколькими состояниями
Как правило, кнопки либо нажаты, либо нет. Но при условии, что обеспечена доступность, можно сделать группу радиокнопок внешне похожей на кнопку с несколькими состояниями с помощью CSS-хитростей.
Читать...
8 252
👩💻 Простой калькулятор с динамическим вводом
Создайте калькулятор, который позволяет выполнять основные арифметические операции (сложение, вычитание, умножение, деление). Пользователь вводит два числа и выбирает операцию из выпадающего списка. Результат отображается автоматически.
Требования:
• Два текстовых поля для ввода чисел.
• Выпадающий список для выбора операции.
• Динамическое отображение результата при изменении любого из входных значений.
Решение задачи🔽
<div> <input type="number" id="num1" placeholder="Введите первое число"> <select id="operation"> <option value="add">+</option> <option value="subtract">-</option> <option value="multiply">×</option> <option value="divide">÷</option> </select> <input type="number" id="num2" placeholder="Введите второе число"> </div> <div> <h3>Результат: <span id="result">0</span></h3> </div> const num1 = document.getElementById('num1'); const num2 = document.getElementById('num2'); const operation = document.getElementById('operation'); const result = document.getElementById('result'); function calculate() { const value1 = parseFloat(num1.value) || 0; const value2 = parseFloat(num2.value) || 0; let res = 0; switch (operation.value) { case 'add': res = value1 + value2; break; case 'subtract': res = value1 - value2; break; case 'multiply': res = value1 * value2; break; case 'divide': res = value2 !== 0 ? value1 / value2 : 'Ошибка (деление на 0)'; break; } result.textContent = res; } [num1, num2, operation].forEach(element => { element.addEventListener('input', calculate); });
8 252
Что теперь умеет нейросеть Алиса? Узнайте раньше всех
Яндекс анонсировал прямую трансляцию конференции «Алиса, что нового?», где будет представлено новое поколение генеративных моделей. Эти разработки позволят нейросети Алисы расширить свои возможности и осуществлять действия в реальном мире.
Конференция «Алиса, что нового?» начнётся 28 октября в 12:00.
Прошлая конференция состоялась весной и была посвящена нейросети Алисе и анонсам умных устройств. В этот раз представители Яндекса расскажут о масштабном обновлении нейросетевых технологий.
Подпишитесь, чтобы не пропустить начало
Записаться онлайн
#реклама 16+
О рекламодателе
8 252
👩💻 CSS :has() — Псевдокласс, который давно ждали
Преобразуйте свой CSS с помощью псевдокласса :has(), позволяющего стилизовать элементы на основе их дочерних элементов.
Читать...
8 252
⚙️ В чем разница между
== и === в JavaScript?
В JavaScript операторы == и === используются для сравнения, но ведут себя по-разному. == выполняет нестрогое сравнение, при котором JavaScript может преобразовать типы данных для сопоставления значений. В отличие от него, === выполняет строгое сравнение, проверяя как значение, так и тип данных, без приведения типов.
➡️ Пример:
console.log(5 == '5'); // true, так как '5' преобразуется к числу
console.log(5 === '5'); // false, так как разные типы данных
console.log(null == undefined); // true, при нестрогом сравнении они считаются равными
console.log(null === undefined); // false, строгий оператор учитывает типы данных
🗣️ Использование === рекомендуется для избегания ошибок, связанных с преобразованием типов. Это помогает сделать код более предсказуемым и читаемым.🖥 Подробнее тут
8 252
👩💻 Cube & Dots Loader
Анимированная загрузка в виде точек и куба. Сделана на чистом CSS.
Открыть код...
8 252
⛏ 11 инструментов для ускорения создания пользовательского интерфейса
Предлагаем подборку бесплатных инструментов для стилистического оформления пользовательских интерфейсов. Они помогут фронтенд-разработчикам и дизайнерам существенно сэкономить время и повысить производительность.
Читать...
8 252
🔝 Самые интересные статьи за последние дни:
• DRY-фреймворк: продолжение
• Как нарисовать квадрат 3 × 3 см на веб-странице*
• Скучный Интернет и как «бесполезные сайты» могут спасти от этого
• Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем
• Как мотивировать себя на правильные вещи
8 252
👩💻 5 непростых вопросов по JavaScript
Разберем пять непростых вопросов: о сравнениях, пустых массивах, странном try catch, стрелочной функции и коварном JSON.stringify. Сможете ответить на них правильно?
Читать...
8 252
👩💻 Как сделать таймер на CSS
Давайте рассмотрим использование CSS в качестве альтернативы JavaScript для создания простых таймеров. Используем современные свойства CSS, такие, как
@property, @keyframes, и псевдоэлементы со значениями counter().
Читать...8 252
👩💻 Полное руководство по “this” в JavaScript
Благодаря поддержке Unicode 16 расширение MBString может работать со всеми новейшими символами Emoji, а также имеет самую актуальную информацию о смене регистра и ширине символов.
Читать...
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
