Прежде всего, не используйте для этого тег <div>
.Текст - display: inline
, а <div>
- display: block
, так что вы столкнетесь со всеми видами проблем, просто с этим разбирающихся.
Что бы я сделал, если бы у меня была эта проблема, было бычтобы каждое слово было заключено в собственный тег <span>
, чтобы ваша разметка выглядела примерно так:
<p class="extendHilite">
<span>Lorem </span><span>ipsum </span><span>dolor </span> <!-- and so on -->
</p>
Затем используйте Javascript или jQuery для прослушивания события onmouseover
во всех <span>
элементы внутри абзаца.Ваш обработчик событий определит, какой диапазон был перемещен, и установит для className всех предыдущих диапазонов стиль, придающий тексту фоновый цвет.
Вы также можете сделать это с диапазонами текста и абсолютным позиционированием, но этонамного сложнее.