Dalam HTML dan CSS, adalah perkara biasa untuk menggunakan Flexbox untuk memudahkannya mencipta reka letak yang fleksibel dan dinamik. Walau bagaimanapun, dalam senario tertentu, anda mungkin mahu item flex berkembang secara berkadar kepada saiz asalnya, mengekalkan lebar relatifnya walaupun apabila lebar keseluruhan bekas berubah.
Dalam persediaan Flexbox biasa, anda mungkin menggunakan flex: 1 untuk menjadikan semua item mengembang sama, tanpa mengira saiz awalnya. Walau bagaimanapun, pendekatan ini menghasilkan semua item mempunyai lebar yang sama. Untuk mengatasinya, anda boleh menggunakan sifat flex-basis.
flex-basis mentakrifkan lebar awal item flex. Ia memerlukan nilai auto secara lalai, yang bermaksud ia melaraskan kepada saiz kandungan item. Apabila digabungkan dengan flex-grow, anda boleh mengawal cara lebihan ruang dalam bekas diagihkan antara item flex.
Dengan flex-basis: auto, flex-grow hanya mengagihkan lebihan ruang, tidak termasuk ruang yang diduduki oleh kandungan item. Ini memastikan item mengembang secara berkadar kepada saiz asalnya.
Pertimbangkan barisan butang dengan lebar yang berbeza-beza. Menggunakan CSS berikut, semua butang akan berkembang untuk mengisi ruang yang tersedia, mengekalkan saiz relatifnya:
.row-flex { width: 100%; display: flex; flex-direction: row; } .button { flex: auto; display: inline-block; padding: 10px; color: #fff; text-align: center; }
Sebagai alternatif, anda boleh menggunakan tatatanda trengkas berikut:
.button { flex: 1 1 auto; }
Dengan memahami interaksi antara flex-basis dan flex-grow, anda boleh memastikan item flex berkembang secara berkadar dengan asalnya saiz sambil menghormati lebar individu mereka. Pendekatan ini menawarkan fleksibiliti yang lebih besar dalam reka letak dinamik dan reka bentuk responsif.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membuat Barangan Flex Mengembang Secara Berkadar kepada Saiz Asalnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!