👍12🔥10🤝6
This media is not supported in your browser
VIEW IN TELEGRAM
Псевдокласс
:focus
срабатывает, когда элемент находится в фокусе — например, после клика мышкой или перехода через клавишу Tab.Примеры использования:
• outline — рисуем рамку вокруг поля ввода;
• background — меняем фон кнопки при фокусе;
• box-shadow — добавляем мягкое свечение;
• transform — можно слегка «увеличить» элемент.
Важно знать, что в стандартных стилях браузера уже прописаны дефолтные стили для фокуса интерактивных элементов.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🤝5❤4🔥2
В этой шпаргалке собраны приёмы работы с числами, строками, датами и JSON: строгая и нестрогая конвертация, целые и дробные числа, проверка на NaN и конечность, преобразование дат в timestamp. Они применяются при обработке внешних данных, валидации и работе с API.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥8❤4🤝2
Конвертируем фунты в килограммы и обратно!
Нередко требуется перевести значение между разными единицами массы. Реализуем небольшой конвертер для фунтов (lb) и килограммов (kg) на чистом JS.
Задаём коэффициент:
Пишем функцию:
Проверяем работу:
Результат:
🔥 Такой сниппет можно встроить в калькулятор веса или форму на сайте.
📣 Code Ready | #практика
Нередко требуется перевести значение между разными единицами массы. Реализуем небольшой конвертер для фунтов (lb) и килограммов (kg) на чистом JS.
Задаём коэффициент:
const KG_PER_LB = 0.45359237;
Пишем функцию:
function convert(value, direction) {
return direction === 'lb→kg'
? +(value * KG_PER_LB).toFixed(2)
: +(value / KG_PER_LB).toFixed(2);
}
Проверяем работу:
console.log(`50 lb = ${convert(50, 'lb→kg')} кг`);
console.log(`100 кг = ${convert(100, 'kg→lb')} lb`);
Результат:
50 lb = 22.68 кг
100 кг = 220.46 lb
🔥 Такой сниппет можно встроить в калькулятор веса или форму на сайте.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤12👍7🔥6🤝2
Привет! В этом гайде создаём собственный курсор — круглый элемент, который плавно двигается за мышкой, реагирует на клики и увеличивается при наведении на ссылки и кнопки.
Ключевые моменты:
• HTML: контейнер для курсора.
• CSS: стили кружка, плавные переходы, эффекты клика и hover.
• JS: слежение за движением мыши, анимация клика и реакция на интерактивные элементы.
Подходит для креативных сайтов, лендингов, портфолио и интерфейсов с акцентом на стильный интерактив.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍8🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
Хочешь наконец разобраться в селекторах, комбинаторах и псевдоклассах без скучной теории и документации? CSS Diner - идеальный способ: уровни начинаются с простых селекторов, а дальше всё усложняется, придётся реально думать.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤24👍9🔥6
Атрибут
readonly
делает поля формы доступными только для чтения. Пользователь не сможет изменить значение такого поля, но сможет выделить и скопировать текст.Например:
• Отображение данных из профиля, которые нельзя изменить;
• Показ результатов расчётов;
• Демонстрация значений по умолчанию.
Не путайте readonly с
disabled
. Неактивные поля не получают фокус и не отправляются с формой, а поля только для чтения (readonly
) - получают и отправляются.Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥9🤝5
Современное копирование текста через Clipboard API!
Почти каждое веб-приложение сегодня требует возможности быстро скопировать данные: ссылку, токен, код. Для этой задачи используется
Начнём с базовой команды на копирование:
Этот метод возвращает промис, поэтому стоит обернуть его в аккуратную обёртку с обработкой результата:
Создадим функцию
И используем её в нужный момент (например, по клику или по горячей клавише):
🔥 Всё лаконично и нативно. Главное, что это работает во всех современных браузерах.
📣 Code Ready | #практика
Почти каждое веб-приложение сегодня требует возможности быстро скопировать данные: ссылку, токен, код. Для этой задачи используется
navigator.clipboard
.Начнём с базовой команды на копирование:
const value = "https://example.com?ref=JS";
navigator.clipboard.writeText(value);
Этот метод возвращает промис, поэтому стоит обернуть его в аккуратную обёртку с обработкой результата:
navigator.clipboard.writeText(value)
.then(() => console.log("✅ Скопировано"))
.catch(err => console.error("❌ Ошибка:", err));
Создадим функцию
copyToClipboard
, которую можно переиспользовать в любом месте приложения:function copyToClipboard(text) {
return navigator.clipboard.writeText(text);
}
И используем её в нужный момент (например, по клику или по горячей клавише):
copyToClipboard("PROMO2025").then(() =>
console.log("Промокод отправлен в буфер 🎯")
);
🔥 Всё лаконично и нативно. Главное, что это работает во всех современных браузерах.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤16👍8🔥4👎1🤝1
В этой шпаргалке — методы для работы с картами (Map) в JS: создание, добавление и удаление элементов, проверка наличия ключей, перебор данных и очистка коллекции. Это основа для хранения пар «ключ → значение», где ключи могут быть не только строками, но и объектами или функциями.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19❤7👍6