Каждую букву обернуть в спан
Костыль же
Согласен, может кто вариант получше подскажет
по-другому никак
Через js можно было charAt() есть, но я пишу реакт и не могу его использовать
а это здесь при чём? тебе всё равно его надо во что-то обернуть, чтобы дать стили/класс да и реакт никак не мешает использовать методы джса
charAt тут не поможет, так как позиция At не известна при ховере
норм тема
Первое что в голову пришло: оно конечно можно высчитать конкретную букву (индекс) под курсором (в бекграунде наполнять строку пока ширина не превысит позицию курсора по (скрыв от пользователя) и зная индекс - можно строку разбить на 3 части, тем самым обернув нужную букву в тег. Но тут стоит учитывать кейсы, обрезается ли текст при переполнении, переносится ли на следующую строку и т.д. Будет мягко говоря оверинжиниринг и что-то мне подсказывает будет заметно менее производительным и более костыльным, чем спан под каждую букву. Либо на канвасе рисовать текст и туда вынести всю математику, но если потребуются сложные анимации то будет больно. Задача конечно дебильная
на самом деле нормальная задача) просто каждую букву в спан оборачивать лучше скриптом, а не руками
я просто представил как контент размером в пол страницы обернуть каждую букву в спан - и понял, что задача мне очень не нравится)))
Я не читал твое сообщение, но вот что посоветовали и оно работает, {word.split('').map((letter) => <span className="letter-hover">{letter}</span>)} .letter-hover:hover {background-color: red;}
Ты же против оборачивания)
Мне тут написали обернуть каждую букву в span, тут я созроняю целое предложение в usestate отуда делаю split
если что, ты этим кодом оборачиваешь каждую букву в спан никто тебе не говорил делать это руками)
Обсуждают сегодня