Element.scrollWidth

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.

La propiedad de sólo lectura Element.scrollWidth retorna bien la anchura en pixels del contenido de un elemento o bien la anchura del elemento en si, la que sea mayor de ambas. Si el elemento es más ancho que su área contenedora (por ejemplo, si existen barras de desplazamiento para desplazarse a través del contenido), scrollWidth es mayor que clientWidth.

Nota: El valor de esta propiedad será red redondedo a un entero. Si necesita un valor fraccional, use element.getBoundingClientRect().

Sintaxis

js
var xScrollWidth = element.scrollWidth;

xScrollWidth es el ancho del contenido de element en pixels.

Ejemplo

html
<!doctype html>
<html>
  <head>
    <title>Ejemplo</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");

    //comprueba si un desbordamiento está ocurriendo
    function isOverflowing(element) {
      return element.scrollWidth > element.offsetWidth;
    }

    function alertOverflow(element) {
      if (isOverflowing(element)) {
        alert("El contenido desborda el contenedor.");
      } else {
        alert("Sin desobordamiento!");
      }
    }

    buttonOne.addEventListener("click", function () {
      alertOverflow(divOne);
    });

    buttonTwo.addEventListener("click", function () {
      alertOverflow(divTwo);
    });
  </script>
</html>

Especificaciones

Specification
CSSOM View Module
# dom-element-scrollwidth

Compatibilidad con navegadores

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
scrollWidth

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

Véase también