Rumah > hujung hadapan web > tutorial css > Bagaimanakah Saya Boleh Mengubah Saiz Medan Input Secara Dinamik untuk Memadankan Panjang Kandungannya?

Bagaimanakah Saya Boleh Mengubah Saiz Medan Input Secara Dinamik untuk Memadankan Panjang Kandungannya?

Barbara Streisand
Lepaskan: 2024-12-15 05:53:12
asal
636 orang telah melayarinya

How Can I Dynamically Resize an Input Field to Match its Content Length?

Mengubah saiz Medan Input untuk Memadankan Panjang Input

Melaraskan lebar medan input agar sepadan dengan inputnya dengan tepat boleh menjadi tugas yang sukar. Walaupun pendekatan tradisional untuk menetapkan lebar minimum menggunakan lebar min mungkin tidak selalu menghasilkan hasil yang diingini, terdapat penyelesaian alternatif untuk mengatasi cabaran ini.

Unit CSS: ch

Pelayar moden menyokong unit CSS "ch," yang mewakili lebar aksara "0" (sifar) dalam fon semasa. Unit ini bebas fon, menyediakan cara yang boleh dipercayai untuk menentukan lebar minimum medan input.

Fungsi Ubah Saiz JavaScript

Untuk melaraskan lebar secara dinamik berdasarkan input panjang, anda boleh menggunakan fungsi JavaScript berikut:

function resizeInput() {
  this.style.width = this.value.length + "ch";
}
Salin selepas log masuk

Fungsi ini mendapatkan semula nilai input dan menetapkan lebar menggunakan unit "ch", memastikan medan mengembang atau mengecut untuk menampung input.

Mengikat pada Acara Input

Untuk mencetuskan fungsi ubah saiz, ikatkannya ke acara "input":

var input = document.querySelector('input');
input.addEventListener('input', resizeInput);
Salin selepas log masuk

Dengan menggunakan teknik ini, anda boleh membuat input medan yang melaraskan lebarnya dengan lancar berdasarkan input, memberikan pengalaman yang lebih mesra pengguna dan dinamik.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengubah Saiz Medan Input Secara Dinamik untuk Memadankan Panjang Kandungannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan