The Element.scrollWidth read–only property returns either the width in pixels of the content of an element or the width of the element itself, whichever is greater. If the element is wider than its content area (for example, if there are scroll bars for scrolling through the content), the scrollWidth is larger than the clientWidth.

This property will round the value to an integer. If you need a fractional value, use element.getBoundingClientRect().


var xScrollWidth = element.scrollWidth;

xScrollWidth is the width of the content of element in pixels.


<!DOCTYPE html>
        div {
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        #aDiv {
            width: 100px;
        button {
            margin-bottom: 2em;

    <div id="aDiv">
    <button id="aButton">
        Check for overflow
    <div id="anotherDiv">
    <button id="anotherButton">
        Check for overflow
    var buttonOne = document.getElementById('aButton'),
    buttonTwo = document.getElementById('anotherButton'),
    divOne = document.getElementById('aDiv'),
    divTwo = document.getElementById('anotherDiv');

    //check to determine if an overflow is happening
    function isOverflowing(element) {
        return (element.scrollWidth > element.offsetWidth);

    function alertOverflow(element) {
        if (isOverflowing(element)) {
            alert('Contents are overflowing the container.');
        } else {
            alert('No overflows!');

    buttonOne.addEventListener('click', function() {

    buttonTwo.addEventListener('click', function() {


Specification Status Comment
CSS Object Model (CSSOM) View Module
The definition of 'Element.scrollWidth' in that specification.
Working Draft Initial definition


MSDN: scrollWidth Property

See also

Document Tags and Contributors

 Last updated by: m.karajohn,