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
var xScrollWidth = element.scrollWidth;
xScrollWidth es el ancho del contenido de element en pixels.
Ejemplo
<!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
BCD tables only load in the browser