Czy mogę użyć JavaScript do sprawdzenia (niezależnie od pasków przewijania), czy element HTML przepełnił swoją zawartość? Na przykład długi element div o małym, stałym rozmiarze, właściwość przepełnienia ustawiona na visible i brak pasków przewijania w elemencie.
javascript
html
css
Barett
źródło
źródło
clientWidth
iscrollWidth
różni się o 1px.Spróbuj porównać
element.scrollHeight
/element.scrollWidth
doelement.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
źródło
Nie sądzę, aby ta odpowiedź była doskonała. Czasami scrollWidth / clientWidth / offsetWidth są takie same, mimo że tekst jest przepełniony.
Działa to dobrze w Chrome, ale nie w IE i Firefox.
W końcu wypróbowałem tę odpowiedź: wykrywanie przepełnienia tekstu w HTML
Jest doskonały i działa dobrze wszędzie. Więc wybieram to, może możesz spróbować, nie zawiedziesz.
źródło
Innym sposobem jest porównanie szerokości elementu z szerokością jego rodzica:
źródło
Dzięki jQuery możesz:
Zmień na
.prop('scrollWidth')
iw.width()
razie potrzeby.źródło
Jest to rozwiązanie javascript (z Mootools), które zmniejszy rozmiar czcionki, aby dopasować ją do granic elHeader.
CSS elHeader:
Zwróć uwagę, że opakowanie elHeader ustawia szerokość elHeader.
źródło