Могу ли я использовать JavaScript, чтобы проверить (независимо от полос прокрутки), переполнен ли HTML-элемент его содержимым? Например, длинный div с небольшим фиксированным размером, свойство overflow, установленное на visible, и отсутствие полос прокрутки на элементе.
javascript
html
css
Barett
источник
источник
clientWidth
иscrollWidth
отличается от 1px.Попробуйте сравнить
element.scrollHeight
/element.scrollWidth
сelement.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
источник
Я не думаю, что этот ответ идеален. Иногда scrollWidth / clientWidth / offsetWidth совпадают, даже если текст переполнен.
Это хорошо работает в Chrome, но не в IE и Firefox.
Наконец, я попробовал этот ответ: Обнаружение многоточия переполнения текста HTML
Это прекрасно и хорошо работает где угодно. Поэтому я выбираю это, может быть, вы можете попробовать, вы не разочаруетесь.
источник
Другой способ - сравнить ширину элемента с шириной его родителя:
источник
С помощью jQuery вы можете сделать:
Измените на
.prop('scrollWidth')
и.width()
при необходимости.источник
Это решение javascript (с Mootools), которое уменьшит размер шрифта до размеров elHeader.
CSS elHeader:
Обратите внимание, что обертка elHeader устанавливает ширину elHeader.
источник