Implementing it in HTML/CSS/JS certainly poses an interesting problem because, as far as I know, one cannot directly access individual, dynamically broken lines of text. One would probably have to wrap each word in a container and keep track of the absolute positions.
It's very brittle though. It relies on knowing the line-height, calculating the line in which the highlighted word sits, accounting for the existence of vertical scroll-bars... not trivial.
Comments
Implementing it in HTML/CSS/JS certainly poses an interesting problem because, as far as I know, one cannot directly access individual, dynamically broken lines of text. One would probably have to wrap each word in a container and keep track of the absolute positions.
Very true. I got a rough POC of this, implemented using the technique in this answer: http://stackoverflow.com/a/22816419/11208
(just with divs instead of images)
It's very brittle though. It relies on knowing the line-height, calculating the line in which the highlighted word sits, accounting for the existence of vertical scroll-bars... not trivial.
Ah, that was surprisingly easy: http://jsfiddle.net/5p92U/
Or am I missing something?
Edit: Yes, I do. It does not work together with images on the right side: http://jsfiddle.net/Nup2F/
You can use getSelection() to do that, but it doesn't work everywhere. [0] [1]
[0] https://stackoverflow.com/questions/7563169/detect-which-wor...
[1] http://jsfiddle.net/Vap7C/15/