JSFiddle - React, Tailwind, and code Playground
HTML
<div>
<p>Testing paragraph</p>
<p>Testing paragraph</p>
</div>
<div>
<p>Testing <b>lol</b> paragraph</p>
<p>Testing paragraph</p>
</div>
CSS
body * {
outline: 10px pink inset;
outline-offset: -10px;
padding: 10px;
opacity: .9;
margin: 20px;
}
JavaScript
var last;
window.addEventListener("mousemove", function(e) {
if(last) {
last.style.background = ''; // empty is enough to restore previous value
}
var elem = e.target;
if(elem === document.body || elem === document.documentElement) {
return;
}
var bb = elem.getBoundingClientRect();
var xr = e.pageX - bb.left; // x relative to elem
var yr = e.pageY - bb.top; // y relative to elem
var ew = 10; // edge width
if(
xr <= ew
|| xr >= bb.width - ew
|| yr <= ew
|| yr >= bb.height - ew
){
elem.style.background = 'red';
last = elem;
}
});