Rumah > Artikel > hujung hadapan web > Mengapa Tidak `memaparkan: blok; width: auto;` Jadikan Medan Input Mengisi Bekasnya?
Nyahsekat Gelagat Elemen dengan Paparan:sekat dan Lebar:auto
Isu timbul apabila menentukan paparan:sekat dan lebar:auto pada input medan, yang berbeza daripada jangkaan bahawa ia berkelakuan seperti div dan berkembang untuk mengisi lebar bekas. Walaupun terdapat andaian bahawa div ialah elemen blok dengan lebar automatik, ini tidak berlaku untuk medan input.
Memahami Isu
Medan input yang mewarisi model kotak daripada standard HTML, di mana lebar elemen hanya merangkumi kandungan sebenar dan bukan sebarang padding atau sempadan. Oleh itu, tetapan width:auto pada medan input tidak secara automatik termasuk pelapik dan sempadan.
Mencapai Input Lebar Penuh
Untuk memastikan medan input memenuhi bekas lebar, pelbagai pendekatan boleh dipertimbangkan:
1. Saiz Kotak
CSS3 memperkenalkan sifat saiz kotak, yang membolehkan untuk mengawal tingkah laku model kotak. Menetapkan saiz kotak: kotak sempadan pada medan input mentakrifkan lebar sebagai termasuk kedua-dua kandungan dan sebarang padding dan jidar.
2. Penyelesaian Silang Penyemak Imbas
Penyelesaian silang penyemak imbas melibatkan penggunaan CSS3 bersama-sama dengan awalan khusus penyemak imbas dan pernyataan bersyarat untuk Internet Explorer 6-7. Ini memastikan keserasian merentas penyemak imbas yang berbeza.
3. Penyelesaian Pembungkus
Penyelesaian alternatif melibatkan penggunaan elemen pembungkus atau menetapkan lebar khusus yang menyumbang kepada pelapik dan sempadan. Walau bagaimanapun, penyelesaian ini mempunyai had dengan perhubungan pemilih HTML dan CSS semantik.
Kesimpulan
Gelagat paparan:blok dan lebar:auto pada medan input berbeza daripada jangkaan yang sepatutnya kepada keunikan model kotak elemen input. Memahami perbezaan ini dan meneroka penyelesaian alternatif, seperti saiz kotak atau keserasian merentas penyemak imbas, membolehkan pembangun mencapai keperluan lebar yang diingini untuk medan input mereka.
Atas ialah kandungan terperinci Mengapa Tidak `memaparkan: blok; width: auto;` Jadikan Medan Input Mengisi Bekasnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!