Rumah > hujung hadapan web > tutorial css > Mengapakah `display: block` Tidak Membuat Elemen Input Memenuhi Lebar Bekasnya?

Mengapakah `display: block` Tidak Membuat Elemen Input Memenuhi Lebar Bekasnya?

Patricia Arquette
Lepaskan: 2024-11-30 10:38:10
asal
423 orang telah melayarinya

Why Doesn't `display: block` Make an Input Element Fill Its Container Width?

Input dengan Paparan: Sekat tidak Berkelakuan Seperti Sekat

Dalam CSS, tetapan paparan: sekat pada elemen menetapkannya sebagai blok- elemen aras, yang sepatutnya memenuhi ruang mendatar yang tersedia. Walau bagaimanapun, apabila ini digunakan pada elemen input, ia tidak berkelakuan seperti elemen blok biasa, seperti div. Ini disebabkan oleh kelainan dalam cara elemen input dipaparkan.

Lebar: Auto Tidak Bertindak Seperti Yang Dijangka

Lebar tetapan: auto pada elemen input tidak memaksa ia untuk mengisi lebar bekas seperti elemen div. Ini kerana elemen input mempunyai dimensi intrinsik dan pelapik secara lalai, yang mengatasi sifat lebar.

Mencapai Pengembangan Lebar Input

Untuk menjadikan input mengisi lebar yang tersedia, pilihan berikut boleh digunakan:

  • Tetap Lebar: Ini bukan penyelesaian yang ideal kerana ia tidak mengambil kira kandungan yang berbeza-beza dalam input.
  • Penyelesaian Pembungkus: Menggunakan elemen pembungkus di sekeliling input boleh menyediakan penyelesaian, tetapi ia menambah penanda HTML yang tidak perlu.
  • Size-Box: Border-Box: CSS3 memperkenalkan sifat bersaiz kotak, yang membolehkan elemen mempunyai padding dan jidarnya disertakan dalam pengiraan lebarnya apabila ditetapkan kepada kotak sempadan.
.input-width-full {
  box-sizing: border-box;
  width: 100%;
}
Salin selepas log masuk

Sokongan Penyemak Imbas Lama

Untuk penyemak imbas yang tidak menyokong saiz kotak CSS3, fail tingkah laku (.htc) boleh digunakan untuk mensimulasikan model kotak sempadan. Ini memerlukan penggunaan ulasan bersyarat untuk menyasarkan Internet Explorer 6 dan 7.

Dengan menggunakan teknik ini, adalah mungkin untuk mencipta input yang berkembang secara dinamik untuk mengisi lebar bekasnya, walaupun dengan pelapik dan sempadan sewenang-wenangnya, memastikan reka letak CSS yang lebih fleksibel dan konsisten.

Atas ialah kandungan terperinci Mengapakah `display: block` Tidak Membuat Elemen Input Memenuhi Lebar Bekasnya?. 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