Kann ich mit JavaScript überprüfen (unabhängig von Bildlaufleisten), ob ein HTML-Element seinen Inhalt übergelaufen ist? Beispiel: Ein langes Div mit einer kleinen festen Größe, der sichtbaren Überlaufeigenschaft und keinen Bildlaufleisten für das Element.
javascript
html
css
Barett
quelle
quelle
clientWidth
undscrollWidth
von 1px unterscheidet.Versuchen Sie,
element.scrollHeight
/element.scrollWidth
mitelement.offsetHeight
/ zu vergleichenelement.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
quelle
Ich denke nicht, dass diese Antwort perfekt ist. Manchmal sind die scrollWidth / clientWidth / offsetWidth gleich, obwohl der Text überläuft.
Dies funktioniert gut in Chrome, aber nicht in IE und Firefox.
Zuletzt habe ich diese Antwort ausprobiert: Erkennung von HTML-Textüberlauf-Auslassungspunkten
Es ist perfekt und funktioniert überall gut. Also wähle ich das, vielleicht kannst du es versuchen, du wirst nicht enttäuschen.
quelle
Eine andere Möglichkeit besteht darin, die Elementbreite mit der Breite des übergeordneten Elements zu vergleichen:
quelle
Mit jQuery können Sie Folgendes tun:
Wechseln Sie zu
.prop('scrollWidth')
und.width()
bei Bedarf.quelle
Dies ist eine Javascript-Lösung (mit Mootools), die die Schriftgröße reduziert, um sie an die Grenzen von elHeader anzupassen.
Das CSS von elHeader:
Beachten Sie, dass der Wrapper von elHeader die Breite von elHeader festlegt.
quelle