¿Puedo usar JavaScript para verificar (independientemente de las barras de desplazamiento) si un elemento HTML ha desbordado su contenido? Por ejemplo, un div largo con un tamaño pequeño y fijo, la propiedad de desbordamiento establecida en visible y sin barras de desplazamiento en el elemento.
javascript
html
css
Barett
fuente
fuente
clientWidth
yscrollWidth
se diferencia por 1 píxel.Intenta comparar
element.scrollHeight
/element.scrollWidth
aelement.offsetHeight
/element.offsetWidth
http://developer.mozilla.org/en/DOM/element.offsetWidth
http://developer.mozilla.org/en/DOM/element.offsetHeight
http://developer.mozilla.org/en/DOM/element. scrollWidth
http://developer.mozilla.org/en/DOM/element.scrollHeight
fuente
No creo que esta respuesta sea perfecta. A veces, scrollWidth / clientWidth / offsetWidth son los mismos aunque el texto se desborde.
Esto funciona bien en Chrome, pero no en IE y Firefox.
Por fin, probé esta respuesta: detección de puntos suspensivos de desbordamiento de texto HTML
Es perfecto y funciona bien en cualquier lugar. Así que elijo esto, tal vez puedas intentarlo, no decepcionarás
fuente
Otra forma es comparar el ancho del elemento con el ancho de su padre:
fuente
Con jQuery podrías hacer:
Cambiar a
.prop('scrollWidth')
y.width()
si es necesario.fuente
Esta es una solución de JavaScript (con Mootools) que reducirá el tamaño de fuente para adaptarse a los límites de elHeader.
El CSS de elHeader:
Tenga en cuenta que el contenedor de elHeader establece el ancho de elHeader.
fuente