Тег
<ins> используется для отображения добавленного контента. Например, нового пункта в списке дел или новой части кода. У тега есть встроенная роль insertion. Благодаря ей пользователи скринридеров знают, что содержимое было добавлено.Помимо глобальных атрибутов есть специфические:
• cite позволяет сослаться на информацию о правке;
• datetime позволяет указать время правки.
<ins> часто используется вместе с <del> в кодовых базах для отображения изменений в коде. Он помогает наглядно показать, что было добавлено, а тег <del> , что удалено, делая сравнение максимально понятным.Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤝9🔥7❤1
🔥16👍12🤝7❤1
Определяем язык браузера!
Определяем язык предпочтений пользователя, чтобы автоматически загрузить нужную локализацию или отобразить корректный контент.
Браузер хранит языковые настройки в объекте
Если нужно использовать только код языка (без региона), можно аккуратно выделить его:
Для более точной адаптации лучше учитывать весь список предпочтений пользователя:
Чтобы гарантировать корректные коды локалей, можно нормализовать их по стандарту
🔥 Такой подход лежит в основе автоматического выбора локали, подбора перевода интерфейса и настройки форматов дат и чисел.
📣 Code Ready | #практика
Определяем язык предпочтений пользователя, чтобы автоматически загрузить нужную локализацию или отобразить корректный контент.
Браузер хранит языковые настройки в объекте
navigator:const userLang = navigator.language;
console.log(`Язык браузера: ${userLang}`); // например: "en-US"
Если нужно использовать только код языка (без региона), можно аккуратно выделить его:
const langCode = userLang.split('-')[0].toLowerCase();
console.log(`Код языка: ${langCode}`); // "en"Для более точной адаптации лучше учитывать весь список предпочтений пользователя:
const preferred = navigator.languages?.length
? navigator.languages
: [navigator.language || 'en'];
console.log('Приоритет языков:', preferred); // ["en-US", "ru", "de"]
Чтобы гарантировать корректные коды локалей, можно нормализовать их по стандарту
BCP-47:const locales = Intl.getCanonicalLocales(preferred);
console.log('Нормализованные локали:', locales)
🔥 Такой подход лежит в основе автоматического выбора локали, подбора перевода интерфейса и настройки форматов дат и чисел.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18👍10🔥8🤝1
В этой шпаргалке собраны классы и методы для локализации интерфейса: форматирование чисел, дат, списков, валют и времени с учётом языка пользователя. Эти инструменты применяются при создании глобальных веб-приложений, аналитических панелей и e-commerce-платформ с поддержкой нескольких локалей.Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤10🤝5🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
Inline Preview решает это за секунду. Выделяешь нужный кусок разметки и vsсode мгновенно показывает рендер прямо в редакторе. Особенно удобно при работе с email-шаблонами, SSR-разметкой или отдельными UI-компонентами, когда нужно быстро проверить кусок, а не весь проект.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥9🤝8❤3
This media is not supported in your browser
VIEW IN TELEGRAM
Тег
<wbr> указывает браузеру место, где допускается делать перенос строки в тексте, если текст не влезает в родительский элемент. Применяется, чтобы:
• Предотвратить «выпирание» текста за границы блока;
• Улучшить читаемость на мобильных устройствах;
• Сохранить аккуратную вёрстку при адаптивном дизайне.
Тег следует ставить после знаков пунктуации, а не перед ними. При переносе слова через
<wbr> символ переноса (тире) не добавляется. Если он вам нужен — используйте символ мягкого переноса ­.Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤10🤝9🔥3
Анимации через
transition бывают “дёргаными”, если трогают layout (например width, top, left).Анимируй только свойства, ускоряемые GPU (
transform и opacity):.card:hover {
transform: translateY(-4px);
opacity: 0.95;
transition: transform 0.2s ease, opacity 0.2s ease;
}Никаких лагов и перерасчётов layout.
Чтобы браузер сразу выделил слой под анимацию — добавь
hint:.card {
will-change: transform, opacity;
}🔥 Так GPU готовится заранее, и переход становится ещё плавнее.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤19👍9🔥6
Привет! В этом гайде создаём поле ввода с динамическим счётчиком символов, который реагирует на действия пользователя и меняет цвет при приближении к лимиту.
Ключевые моменты:
• HTML: минимальная структура — input и счётчик под ним.
• CSS: аккуратная карточка и цветовая индикация.
• JS: обновление количества символов и смена цвета при наборе.
Такой компонент отлично подходит для форм регистрации, профилей или отзывов — везде, где важно контролировать длину текста.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23❤9🔥7🤝2