Zoom: node.offset/client
(zoomed) ===
node.boundingClientRect
(zoomed) !==
event.client/client
(not zoomed)
Scale: node.offset/client
(scaled) !==
node.boundingClientRect
(not scaled) ===
event.client/client
(not scaled)
Viewport: node.offset/client
===
node.boundingClientRect
===
event.client/client
window.innerWidth
, window.innerHeight
element.scrollWidth
, element.scrollHeight
CSS vw
, vh
element.caretPositionFromPoint
,
element.caretRangeFromPoint
,
element.elementFromPoint