Текстовый Инпут с возможностью выделять отдельные слова

Текстовый Инпут с возможностью выделять отдельные слова

Как, вроде бы, простая задача превратилась в головную боль. Читать далее

Подробнее
Эмулируем React useState в обычном JS (via data-attributes & css selectors)

Эмулируем React useState в обычном JS (via data-attributes & css selectors)

Добрый день хабр! Решил поделиться своим небольшим, но полезным открытием в плане использования html data-attributes & css selectors. Html data-attributes - это кастомные атрибуты, которые вы можете сами назначать куда-угодно и с каким угодно именем (но имя должно начинаться с префикса data-). Затем вы можете использовать их в css селекторах, чтобы влиять на содержимое классов и уже классами управлять элементами. Движок браузера автоматически среагирует на изменение data-атрибута и

Подробнее
OpenSource на завтрак

OpenSource на завтрак

Делиться своими идеями с сообществом - хорошо и правильно. Это позволяет развиваться, перенимать лучшие практики, исследовать новые инструменты, учиться оформлять свои решения. Но какой код стоит выносить в общий доступ? И как делать это на постоянной основе? Чтобы разобраться в этих вопросах я решил сделать свой Javascript OpenSource Boilerplate - маленькую, но максимально расширяемую библиотеку компонентов. Она называется handy-ones. Читать далее

Подробнее
On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

On-Demand ISR в Next.js или как эффективно обновлять статический контент на сайте, поступающий из CMS или админки

В этой статье я расскажу, как и для чего, на одном из своих проектов, мы прикрутили новую возможность Next.js – On-Demand ISR (инкрементная статическая регенерация по запросу). Читать далее

Подробнее
Как я перешел из нефтянки в IT за 1 год

Как я перешел из нефтянки в IT за 1 год

Меня зовут Багрянцев Максим, бывший сотрудник компании Роснефть, в настоящее время являюсь frontend developer в компании Mechanica. Привет, Хабр! Хочу поделиться своим жизненным опытом с теми людьми, кто еще сомневается идти ли в IT или оставить все как есть. Написать данную статью меня сподвигла сама идея помочь читателю определиться с выбором, так как я хорошо понимаю на сколько трудно решиться кардинально сменить сферу деятельно и начать все с чистого листа. Я же когда принимал…

Подробнее
Еще один способ использовать SVG в React. На этот раз удобный

Еще один способ использовать SVG в React. На этот раз удобный

SVG-изображения можно вставлять непосредственно в html, можно использовать символьные спрайты, теги , и даже . Можно подключать SVG через data-url, css-backgrounds, css-filters и еще множеством способов. Но чтобы полноценно использовать всю суперсилу SVG, необходимо вставлять SVG-изображения непосредственно в html-разметку. Хотя на самом деле есть еще один способ. И он удобный. Читать далее

Подробнее
Делаем отзывчивый и максимально возможный размер шрифта динамического текста относительно контейнера

Делаем отзывчивый и максимально возможный размер шрифта динамического текста относительно контейнера

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

Подробнее
Фронтенд-новости №8. Вышел Wordpress 6.0, найдена оптимальная длина строки, <dialog> под вопросом

Фронтенд-новости №8. Вышел Wordpress 6.0, найдена оптимальная длина строки, <dialog> под вопросом

Дайджест новостей и полезных статей о фронтенд-разработке за последнюю неделю 23–29 мая. Что там у вас ещё

Подробнее
[Перевод] CSS :has() селектор

[Перевод] CSS :has() селектор

Вы когда-нибудь задумывались о селекторе CSS, где вы проверяете, существует ли конкретный элемент внутри родителя? Например, если у компонента карты есть миниатюра, нам нужно добавить к нему display: flex. Это было невозможно в CSS, но теперь у нас будет новый селектор CSS :has, который поможет нам выбрать родителя определенного элемента и многое другое. В этой статье я объясню проблему, которую решает :has, как он работает, где и как мы можем его использовать с некоторыми вариантами…

Подробнее
[Перевод] React 18. Что нового?

[Перевод] React 18. Что нового?

Эта статья — перевод основных изменений версии реакта 18.0.0. Также я веду телеграм канал “Frontend по-флотски”, где рассказываю про интересные вещи из мира разработки интерфейсов. Читать далее

Подробнее
[Перевод] Как Discord реализовал навигацию клавиатурой по всему приложению

[Перевод] Как Discord реализовал навигацию клавиатурой по всему приложению

Мы делаем Discord доступным для каждого. В 2020 году мы многое сделали, чтобы значительно улучшить ассебилити в приложении. Остаётся ещё много работы, но мы уже сейчас можем рассказать об одном из наших последних проектов - Навигация по клавиатуре. Далее по катом. Читать далее

Подробнее
[Перевод] React SEO: Советы по созданию SEO-friendly приложения

[Перевод] React SEO: Советы по созданию SEO-friendly приложения

Привет, Хабр! Представляю вашему вниманию перевод статьи “React SEO: Tips to Build SEO-friendly Web Applications” автора Paridhi Wadhwani. О чем пойдет речь Вы узнаете проблемы, с которыми сталкивается React приложения в части SEO (Search Engine Optimization или оптимизация для поисковых систем). Чтобы быть более точным, вы увидите, как React совмещается с методами поисковой оптимизации. Также, вы будете знать, как Google сканирует сайты на React. Читать далее

Подробнее