Heim  >  Artikel  >  Web-Frontend  >  Wie passt man die Breite eines Eingabefelds basierend auf seinem Inhalt dynamisch an?

Wie passt man die Breite eines Eingabefelds basierend auf seinem Inhalt dynamisch an?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 08:10:03495Durchsuche

How to Dynamically Adjust Input Field Width Based on Its Content?

Eingabefeldbreite an seinen Inhalt anpassen

Beim Versuch, die Mindestbreite eines Eingabefelds mit „min-width“ festzulegen, funktioniert das nicht Funktioniert es nicht wie erwartet, sind alternative Lösungen erforderlich. Eine solche Lösung ist die Verwendung der CSS-Einheit „ch“, die die Breite des Zeichens „0“ in einer bestimmten Schriftart darstellt.

In modernen Browsern kann das folgende CSS verwendet werden:

<code class="css">input {
  font-size: 1.3em;
  padding: 0.5em;
}</code>

Um die Breite des Eingabefelds basierend auf seinem Inhalt anzupassen, kann eine JavaScript-Funktion an das Ereignis „input“ gebunden werden:

<code class="javascript">var input = document.querySelector('input');
input.addEventListener('input', resizeInput);

function resizeInput() {
  this.style.width = this.value.length + "ch";
}</code>

Diese JavaScript-Funktion ändert die Breite des Eingabefelds entsprechend die Länge seines Werts plus 1 „ch“, um die Polsterung zu berücksichtigen. Der Ereignis-Listener stellt sicher, dass die Breite aktualisiert wird, wenn sich der Eingabewert ändert.

Hinweis: Dieser Ansatz ist aufgrund von Browserkompatibilitätsproblemen mit der „ch“-Einheit möglicherweise nicht für alle Szenarios geeignet. Testen Sie Ihren Code immer in verschiedenen Browsern und Betriebssystemen, um die gewünschte Funktionalität sicherzustellen.

Das obige ist der detaillierte Inhalt vonWie passt man die Breite eines Eingabefelds basierend auf seinem Inhalt dynamisch an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn