support offsets when scrolling, margins, etc.; assume relative to parent element