Erweiterung der Textgröße

I can't escape

Einführung

Hier ist ein kleines Code-Snippet, mit dem Sie den Text innerhalb eines Elements beim Laden der Seite so groß wie möglich gestalten können.

Der Code

<div class="expand-text-size">
  I can't escape
</div>
import expand_text_size from '../lib/expand-text-size'

Array.from(document.getElementsByClassName('expand-text-size')).forEach((e) =>
  expand_text_size(e)
)
export default function expand_text_size(e) {
  let fontSize = 1
  let changes = 0
  let success = true

  if (is_overflown()) e.style.fontSize = fontSize + 'px'

  while (!is_overflown()) {
    e.style.fontSize = fontSize + 'px'
    fontSize += 10
    changes++
    failsafe()
    if (!success) break
  }

  if (failure) revert_to_original_font_size()

  function is_overflown() {
    return e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth
  }

  function revert_to_original_font_size() {
    success ? (fontSize -= 20) : (fontSize -= changes)
    e.style.fontSize = fontSize + 'px'
  }

  function failure() {
    return changes > 0
  }

  function failsafe() {
    if (changes > 100) success = false
  }
}