Code Ready | Frontend
22.7K subscribers
928 photos
398 videos
17 files
604 links
Авторский канал по Frontend разработке.
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

РКН: https://clck.ru/3NJCKs

Реклама на бирже: https://telega.in/c/code_ready
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Когда нужно быстро сравнить два фрагмента кода!

Partial Diff
расширение, которое позволяет мгновенно увидеть разницу между блоками кода. Работает с любыми файлами, от JS-функций до HTML-разметки. Идеально при рефакторинге, тестировании или ревью чужого кода. Минимум действий. Максимум наглядности.

📣 Code Ready | #vscode
Please open Telegram to view this post
VIEW IN TELEGRAM
23👍12🔥9🤝1
🔥 Дедлайн — 22 октября 🔥

Оформи заявку на Хакатон ИТ-холдинга Т1 сегодня и поборись за призовой фонд 800 000₽

Финишная прямая: подай заявку на Хакатон Т1 Новосибирск.

Реальные кейсы, рост и нетворкинг.

Команды от 3 до 5 человек.

Призовой фонд 800 000 ₽.

Завершение регистраций — 22 октября, 23:59 МСК.
Принять участие
2👍1👎1🔥1
👩‍💻 Мини-трюк — плавающий placeholder!

В этом посте покажу крутой приём для форм: метка поля «плавает» над вводом при фокусе или когда поле заполнено.

Как работает
:
HTML содержит обычный <input> и <label>, placeholder остаётся пустым.

Через CSS позиционируем label поверх поля и задаём плавный переход.

Селекторы :focus и :not(:placeholder-shown) поднимают метку и меняют её цвет.

Дополнительно подсветка поля при фокусе даёт визуальную обратную связь пользователю.


Идеально для форм входа, подписок, комментариев и любых интерфейсов с интерактивными полями.

📣 Code Ready | #фишка
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
20👍11🔥8
24🔥9👍7🤝2
Отслеживаем комбинации клавиш на странице!

Назначайте горячие клавиши для действий на сайте — открывайте меню, отправляйте формы или запускайте скрипты, ускоряя работу с интерфейсом.

Шаг 1 — слушаем нажатия клавиш:
document.addEventListener('keydown', (e) => {
console.log(e.key, e.ctrlKey, e.altKey, e.shiftKey);
});


Шаг 2 — проверяем конкретную комбинацию:
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.key === 'k') {
e.preventDefault(); // блокируем стандартное поведение
alert('Ctrl+K нажата!');
}
});


Шаг 3 — добавляем несколько комбинаций:
document.addEventListener('keydown', (e) => {
if (e.ctrlKey && e.key === 's') {
e.preventDefault();
console.log('Ctrl+S: Сохранение!');
}
if (e.altKey && e.key === 'm') {
e.preventDefault();
console.log('Alt+M: Меню!');
}
});


🔥 Теперь можно создавать свои горячие клавиши для сайта: любые действия, кнопки или скрипты.

📣 Code Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥20👍8🤝62
🔥28🤝8👍71
This media is not supported in your browser
VIEW IN TELEGRAM
👩‍💻 Пишем блоки и текст не слева направо, а справа налево!

Свойство writing-mode определяет не просто направление текста, а всю «осевую систему» страницы или контейнера.

Варианты значений:
• horizontal-tb — строки идут горизонтально, слева направо, а блоки сверху вниз.

• vertical-rl — строки идут вертикально сверху вниз, а блоки справа налево.

• vertical-lr — строки идут вертикально сверху вниз, а блоки слева направо.

• sideways-rl — текст идёт вертикально, но символы повёрнуты вправо на 90°, строки идут сверху вниз, а блоки — справа налево.

• sideways-lr — как и sideways-rl, но символы повёрнуты влево на 90°, строки идут снизу вверх, а блоки — слева направо.


Это меняет не только направление текста, но и порядок блоков.

📣 Code Ready | #свойство
Please open Telegram to view this post
VIEW IN TELEGRAM
19👍12🤝6🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
❤️ 30-Seconds-of-Code — короткие фрагменты JavaScript для любых нужд в разработке!

Если хочется быстро найти полезный приём, трюк или готовый код-сниппет на JS - этот репозиторий именно то, что надо. Здесь собраны короткие, лаконичные и практически применимые примеры кода, которые можно сразу вставить или адаптировать в свой проект.

Держите ссылочку: GitHub 📱


📣 Code Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
16👍10🔥7🤝4
📱 Работа с формами и элементами ввода!

В этой шпаргалке собраны методы и свойства для управления формами: сбор и обработка данных, отслеживание состояний, загрузка файлов и отправка информации без перезагрузки страницы. Эти инструменты применяются при создании интерактивных интерфейсов и валидации пользовательского ввода.

📣 Code Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22🔥128🤝3
👩‍💻 Как ускорить рендеринг длинных списков?

В CSS есть свойство content-visibility, которое может ускорить рендеринг на лентах.

Браузер просто не рендерит невидимый контент, пока он не появится в зоне видимости:
.post-card {
content-visibility: auto;
contain-intrinsic-size: 0 500px;
}


content-visibility: auto — рендерятся только видимые элементы.

contain-intrinsic-size — задаёт примерную высоту, чтобы скролл не прыгал.

Для важных блоков можно форсировать рендеринг:
.hero-section {
content-visibility: visible;
}


🔥 Лучше всего работает, если элемент не меняет размеры динамически, браузер кэширует layout и выдаёт мгновенный скролл.

📣 Code Ready | #совет
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍14🔥7👎1
👩‍💻 Обозначаем только что добавленный контент!

Тег <ins> используется для отображения добавленного контента. Например, нового пункта в списке дел или новой части кода. У тега есть встроенная роль insertion. Благодаря ей пользователи скринридеров знают, что содержимое было добавлено.

Помимо глобальных атрибутов есть специфические:
• cite позволяет сослаться на информацию о правке;

• datetime позволяет указать время правки.


<ins> часто используется вместе с <del> в кодовых базах для отображения изменений в коде. Он помогает наглядно показать, что было добавлено, а тег <del> , что удалено, делая сравнение максимально понятным.

📣 Code Ready | #атрибут
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🤝9🔥71
🔥1510🤝8
Что же выведет консоль?
Anonymous Quiz
48%
A
35%
B
11%
C
5%
D
🔥16👍12🤝71
Определяем язык браузера!

Определяем язык предпочтений пользователя, чтобы автоматически загрузить нужную локализацию или отобразить корректный контент.

Браузер хранит языковые настройки в объекте 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)


🔥 Такой подход лежит в основе автоматического выбора локали, подбора перевода интерфейса и настройки форматов дат и чисел.

📣 Code Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
18👍10🔥8🤝1
🔥30👍10🤝6