<div>Not positioned</div>
<div class="absolute">Absolute</div>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo aliquid quibusdam in! Magni ratione minus, quaerat iure repellat ipsam, culpa voluptas incidunt molestias fuga voluptates! Provident velit nam unde veniam.</p><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo aliquid quibusdam in! Magni ratione
<div class="float">Float Left</div>
minus, quaerat iure repellat ipsam, culpa voluptas incidunt molestias fuga voluptates! Provident velit nam unde veniam.</p><p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Explicabo aliquid quibusdam in! Magni ratione minus, quaerat iure repellat ipsam, culpa voluptas incidunt molestias fuga voluptates! Provident velit nam unde veniam.</p>
<output></output>
body {font-family: helvetica, arial, sans-serif;}
div {
cursor: crosshair;
width: 10vw;
height: 4em;
background: #369;
color: white;
text-align: center;
display: block;
}
div.absolute {
position: absolute;
top: 0;
right: 0;
}
div.float {
float: left;
margin: 10px;
}
output {
position: fixed;
top: 0;
left: calc(50% - 5vw);
display: block;
background: #ccc;
height: 1.5em;
padding: 1vh 1vw;
line-height: 1.5em;
}
const out = document.querySelector('output');
const plaindiv = document.querySelector('div');
const absdiv = document.querySelector('div.absolute');
const floatdiv = document.querySelector('div.float');
const getposition = ev => {
let x = ev.clientX;
let y = ev.clientY;
let pos = ev.target.getBoundingClientRect();
return {
x: x - pos.x|0,
y: y - pos.y|0
};
}
const showposition = ev => {
let {x:x,y:y} = getposition(ev);
out.innerText = `x: ${x} y: ${y}`;
};
plaindiv.addEventListener('mousemove', showposition);
absdiv.addEventListener('mousemove', showposition);
floatdiv.addEventListener('mousemove', showposition);
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.