Non-standard: This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
Element.scrollIntoViewIfNeeded() method scrolls the current element into the visible area of the browser window if it's not already within the visible area of the browser window. If the element is already within the visible area of the browser window, then no scrolling takes place. This method is a proprietary variation of the standard
An optional boolean value with a default of
true, the element will be aligned so it is centered within the visible area of the scrollable ancestor.
false, the element will be aligned to the nearest edge of the visible area of the scrollable ancestor. Depending on which edge of the visible area is closest to the element, either the top of the element will be aligned to the top edge of the visible area, or the bottom edge of the element will be aligned to the bottom edge of the visible area.
const element = document.getElementById("my-el"); element.scrollIntoViewIfNeeded(); // Centers the element in the visible area element.scrollIntoViewIfNeeded(false); // Aligns the element to the nearest edge in the visible area
Not part of any specification. This is a proprietary, WebKit-specific method.
BCD tables only load in the browser
- W3C CSSOM bug 17152: Support centering an element when scrolling into view. (feature request for a standardized equivalent to