Rumah > hujung hadapan web > tutorial css > Bagaimanakah `bersaiz kotak` Mempengaruhi Pengiraan Faktor Pengecutan Flexbox dengan Padding?

Bagaimanakah `bersaiz kotak` Mempengaruhi Pengiraan Faktor Pengecutan Flexbox dengan Padding?

Susan Sarandon
Lepaskan: 2024-12-05 08:23:11
asal
640 orang telah melayarinya

How Does `box-sizing` Affect Flexbox Shrink Factor Calculations with Padding?

Flexbox Shrink Factor dengan Padding dan Border-Box

Flexbox melaraskan saiz item dalam bekas secara dinamik berdasarkan ruang yang tersedia. Sifat flex-shrink mengawal cara item mengecut apabila bekas terlalu kecil untuk menampung semua kandungannya.

Apabila padding digunakan pada item flex, lebar luar termasuk kedua-dua pelapik dan kandungan, manakala lebar dalam hanya merangkumi kandungan itu sendiri. Sifat bersaiz kotak menentukan lebar mana yang digunakan dalam pengiraan fleksibel.

Tanpa Padding

Formula untuk mengira faktor pengecutan flex berskala (saiz asas flex dalam didarab dengan flex faktor pengecutan) kekal sama:

:nth-child(1)  2 * 300 = 600
:nth-child(2)  1 * 200 = 200
:nth-child(3)  2 * 100 = 200

TOTAL = 1000
Salin selepas log masuk

Dengan jumlah ruang bebas negatif sebanyak -200px, faktor pengecutan dan lebar dalam yang terhasil ialah:

:nth-child(1)  600 / 1000 = .6
:nth-child(1)  .6 * -200px = -120px (resulting inner width: 180px)
:nth-child(2)  200 / 1000 = .2
:nth-child(2)  .2 * -200px =  -40px (resulting inner width: 160px)
:nth-child(3)  200 / 1000 = .2
:nth-child(3)  .2 * -200px =  -40px (resulting inner width:  60px)
Salin selepas log masuk

Dengan Padding

Apabila padding ditambahkan, ruang yang tersedia untuk kandungan berkurangan , membawa kepada lebar dalaman yang berbeza.

Tanpa Border-box

Faktor pengecutan dikira berdasarkan saiz asas flex dalam, yang tidak termasuk pelapik. Lebar dalam yang terhasil ialah:

:nth-child(1)  2 * 280 = 560
:nth-child(2)  1 * 180 = 180
:nth-child(3)  2 * 80 = 160

TOTAL = 900
Salin selepas log masuk

Dengan ruang kosong negatif -260px, faktor pengecutan dan lebar dalam menjadi:

:nth-child(1)  560 / 900 = .622
:nth-child(1)  .622 * -260px = -162px (resulting inner width: 118px)
:nth-child(2)  180 / 900 = .2
:nth-child(2)  .2 * -260px =  -52px (resulting inner width: 128px)
:nth-child(3)  160 / 900 = .178
:nth-child(3)  .178 * -260px =  -46px (resulting inner width: 34px)
Salin selepas log masuk

Dengan Border-box

Apabila saiz kotak: kotak sempadan digunakan, saiz asas fleksibel termasuk kedua-dua kandungan dan padding. Faktor pengecutan dikira menggunakan saiz asas lentur luar, iaitu sifat lentur yang ditentukan didarab dengan ruang yang tersedia.

:nth-child(1)  2 * 320 = 640
:nth-child(2)  1 * 220 = 220
:nth-child(3)  2 * 120 = 240

TOTAL = 1100
Salin selepas log masuk

Dengan ruang bebas negatif -200px, faktor pengecutan dan lebar dalam ialah:

:nth-child(1)  640 / 1100 = .582
:nth-child(1)  .582 * -200px = -116px (resulting inner width: 204px)
:nth-child(2)  220 / 1100 = .2
:nth-child(2)  .2 * -200px =  -40px (resulting inner width: 180px)
:nth-child(3)  240 / 1100 = .218
:nth-child(3)  .218 * -200px =  -44px (resulting inner width: 76px)
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah `bersaiz kotak` Mempengaruhi Pengiraan Faktor Pengecutan Flexbox dengan Padding?. 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