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()
.
Syntax
var xScrollWidth = element.scrollWidth;
xScrollWidth is the width of the content of element in pixels.
Example
<!DOCTYPE html> <html> <head> <title>Example</title> <style> div { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } #aDiv { width: 100px; } button { margin-bottom: 2em; } </style> </head> <body> <div id="aDiv"> FooBar-FooBar-FooBar-FooBar </div> <button id="aButton"> Check for overflow </button> <div id="anotherDiv"> FooBar-FooBar-FooBar-FooBar </div> <button id="anotherButton"> Check for overflow </button> </body> <script> 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() { alertOverflow(divOne); }); buttonTwo.addEventListener('click', function() { alertOverflow(divTwo); }); </script> </html>
Specification
Specification | Status | Comment |
---|---|---|
CSS Object Model (CSSOM) View Module The definition of 'Element.scrollWidth' in that specification. |
Working Draft | Initial definition |
References
See also
Document Tags and Contributors
Tags:
Contributors to this page:
m.karajohn,
cvrebert,
fscholz,
teoli,
kscarfone,
nairakhil13,
Sheppy,
vyv03354,
ethertank,
ozanonline,
Ms2ger,
George3,
Mgjbot,
Mw22,
Ptak82,
Nickolay,
RobG
Last updated by:
m.karajohn,