Давайте анимируем CSS переменные! Это мощный способ применения CSS анимации, которая в противном случае была бы утомительной или непрактичной.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Завершите решение так, чтобы оно возвращало значение true, если переданный первый аргумент (строка) заканчивается 2-м аргументом (также строкой).
Пример кода:
solution('abc', 'bc') // returns true
solution('abc', 'd') // returns false
Решение задачи
function solution(str, ending) {
return ending === '' || str.slice(-ending.length) === ending;
}
// Примеры использования
console.log(solution('abc', 'bc')); // возвращает true
console.log(solution('abc', 'd')); // возвращает false
console.log(solution('abc', '')); // возвращает true
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Иногда, спеша уложиться в сроки, мы не задумываемся о доступности. Но пара небольших изменений может значительно улучшить сайт для всех пользователей, независимо от их возможностей и устройств.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Если у вас есть аккаунт на Vercel, вы, наверное, замечали, как плавно фон ссылок в панели навигации перемещается, следуя за курсором мыши. Такого эффекта несложно добиться с помощью CSS и нескольких строчек JS. Однако, интереса ради, я решил попробовать добиться похожего эффекта на чистом CSS.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Красивая анимация горения страницы при скролле. Сделана на CSS и JavaScript.
Открыть код...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥2
Помните HTML-элемент marquee? Он устарел, поэтому вряд ли стоит его использовать, когда понадобится что-то вроде горизонтальной автопрокрутки. Вот тут-то и приходит на помощь CSS, потому что в нём есть все необходимые инструменты для реализации этой функции.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В статье расскажем, как Supabase — бесплатный аналог Google Firebase — помогает разработчикам быстро создавать приложения и сайты. Узнаете, как работать с базой данных, аутентификацией, хранением файлов и реальным временем, без необходимости управлять сервером.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
В этой статье рассмотрим, как форматировать ввод данных в формах для удобства пользователей. Обсудим проблемы существующих библиотек маскирования и предложим более эффективное собственное решение.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
• Тримодальный характер зарплат разработчиков
• Иллюзия прогресса: почему мне не удалось дать студентам-айтишникам реальный опыт
• Из подземелья в QA: как и почему я перешёл в тестирование после 14 лет работы сисадмином в метрополитене
• Interview copilots: как кандидаты используют ChatGPT на интервью
• Моя история входа в IT: как я ломал стены своих ограничений
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Однажды я спросил себя: а что, если использовать контейнерные единицы измерения для каждого элемента дизайна? Я задался этим вопросом, отчасти потому, что мне показалось, что ответ может быть таким: ну, тогда всё будет очень хорошо масштабироваться!
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Сегодня поговорим о том, как использовать
handleEvent()
для обработки нескольких типов событий.Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
В этой серии статей я рассказываю о Convex — новом открытом и бесплатном решении BaaS (Backend as a Service — бэкенд как услуга), которое выглядит очень многообещающе и быстро набирает популярность среди разработчиков.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
🧠 Умей держать «рабочий контекст» в памяти
Самое страшное в переключении задач — не потерянное время, а сброшенное состояние мозга. Забываешь, о чём думал, и заново восстанавливаешь цепочку.
👉 Совет: перед переключением запиши текущее состояние: что делал, что осталось, какие идеи были на подходе. Даже короткий текстовый файл спасает от "А где я вообще остановился?"
Самое страшное в переключении задач — не потерянное время, а сброшенное состояние мозга. Забываешь, о чём думал, и заново восстанавливаешь цепочку.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3👍2
В статье описывается, как NgRx помогает управлять состоянием приложения, работать с асинхронными операциями, улучшать производительность и упрощать масштабирование. Рассматриваются случаи, когда его внедрение наиболее оправдано.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
В статье рассказывается о нововведениях в Chrome 130: улучшенные возможности управления окнами "picture-in-picture", вложенные объявления в CSS для сложных случаев и настройка декораций для элементов в несколько строк.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Рабочая группа CSS выпустила новый модуль Values and Units Level 5: меньше кода, больше возможностей – звучит как мечта? Давайте вместе разберемся, как эти новшества изменят нашу работу и сделают веб красивее.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Реализуйте функцию
getContrastColor(hex)
, которая принимает цвет в HEX-формате (например, "#ffffff"
) и возвращает либо "black"
, либо "white"
— в зависимости от того, какой цвет текста будет лучше читаться на этом фоне.Используйте формулу относительной яркости по стандарту WCAG для определения контраста. Это важно для создания доступных UI, кнопок, блоков с текстом и цветовых тем.
Решение задачи
function getContrastColor(hex) {
const r = parseInt(hex.substr(1, 2), 16);
const g = parseInt(hex.substr(3, 2), 16);
const b = parseInt(hex.substr(5, 2), 16);
// Вычисление яркости по формуле WCAG
const brightness = (r * 299 + g * 587 + b * 114) / 1000;
return brightness > 128 ? "black" : "white";
}
// Примеры:
console.log(getContrastColor("#ffffff ")); // "black"
console.log(getContrastColor("#000000")); // "white"
console.log(getContrastColor("#3498db ")); // "white"
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Небольшая подборка малоизвестных техник для HTML, CSS и JavaScript.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Отказавшись от неэффективных практик программирования на JavaScript, вы всегда будете писать удобный и легко читаемый код. Это сэкономит вам и вашей команде много времени и обеспечит долгую жизнь вашим продуктам.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Подробное пошаговое руководство по созданию бессерверного приложения для того, чтобы повеселиться в хорошей компании.
Читать...
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1🔥1