The Element.scrollWidth
read-only property is a measurement of the width of an element's content, including content not visible on the screen due to overflow.
The scrollWidth
value is equal to the minimum width the element would require in order to fit all the content in the viewport without using a horizontal scrollbar. The width is measured in the same way as clientWidth
: it includes the element's padding, but not its border, margin or vertical scrollbar (if present). It can also include the width of pseudo-elements such as ::before
or ::after
. If the element's content can fit without a need for horizontal scrollbar, its scrollWidth
is equal to 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>
Result
Specification
Specification | Status | Comment |
---|---|---|
CSS Object Model (CSSOM) View ModuleThe definition of 'Element.scrollWidth' in that specification. | Working Draft | Initial definition |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
scrollWidth
|
Chrome
Full support 43 |
Edge
Full support 12 |
Firefox
Full support Yes |
IE Full support 5 Full support 5 Notes' In Internet Explorer 5 through 7, if padding is set, the value of |
Opera
Full support Yes |
Safari
Full support 6 |
WebView Android
Full support Yes |
Chrome Android
Full support 43 |
Firefox Android
Full support Yes |
Opera Android
Full support Yes |
Safari iOS
Full support Yes |
Samsung Internet Android
Full support 4.0 |
Legend
- Full support
- Full support
- See implementation notes.'
- See implementation notes.
See also
Element.scrollWidth by Mozilla Contributors is licensed under CC-BY-SA 2.5.