


Artikel yang menerangkan secara terperinci kesan tiga sifat flex pada elemen
Semasa pembangunan, atribut flex sering digunakan untuk bertindak pada elemen anak kotak fleksibel, seperti: flex:1
atau flex: 1 1 auto
Jadi bagaimana atribut ini mengawal tingkah laku unsur? flex:1
Apa sebenarnya maksudnya? Biarkan artikel ini membawa anda melalui pemahaman menyeluruh tentang sifat flex! [Pembelajaran yang disyorkan: tutorial video css]
Pertama sekali, kita perlu memahami bahawa flex ialah singkatan daripada tiga atribut flex-grow
, flex-shrink
dan flex-basis
Anda boleh menggunakan satu atau dua, atau tiga nilai yang menentukan atribut flex. Untuk sintaks tertentu, sila rujuk MDN-flex
Seterusnya, kami akan membongkar kesan ketiga-tiga atribut ini pada elemen satu demi satu
flex- asas
asas lentur mentakrifkan saiz subelemen lentur yang dimulakan sebelum peruntukan ruang berlaku, atribut 默认值 auto
saiz subelemen lentur sebelum ia terbentang atau mengecut.
Jika asas-flex ditetapkan kepada auto, penyemak imbas akan terlebih dahulu menyemak sama ada saiz utama elemen anak fleksibel ditetapkan kepada nilai awal elemen anak fleksibel.
Contohnya, jika anda telah menetapkan lebar 150px untuk elemen anak fleksibel anda, maka 150px ialah asas-flex bagi elemen anak fleksibel ini, jika tidak ditetapkan, auto akan diselesaikan mengikut saiz kandungannya . Dalam contoh ini, lebar elemen pertama ditetapkan kepada 150px, dan lebar elemen kedua dan ketiga tidak ditetapkan.
:first-child { width: 150px; }
Kesannya adalah seperti berikut:
Jika anda mahu flexbox mengabaikan sepenuhnya saiz elemen anak flex, tetapkan flex-basis kepada 0 . Dengan cara ini, walaupun elemen 1 mempunyai set lebar, lebar terakhirnya ialah lebar kandungan.
Ruang bebas positif dan negatif
Mari kita lihat dua konsep sebelum memperkenalkan dua sifat yang tinggalpositive free space
Ruang kebebasan positif dan negative free space
ruang kosong terbalik:
-
ruang kosong ke hadapan
Sebagai contoh, terdapat bekas lentur lebar 500px dan nilai atribut arah lentur ialah baris , tiga Elemen kanak-kanak fleksibel 100px lebar, maka 200px yang tidak diisi ialah ruang kosong positif.
-
Terbalikkan ruang kosong
Apabila jumlah lebar elemen kanak-kanak lebih besar daripada lebar bekas, limpahan Saiz 100px ialah ruang kosong terbalik.
Jadi apakah atribut yang digunakan untuk memperuntukkan ruang bebas positif dan negatif?
flex-grow
-
flex-grow
默认值 0
, jika diberikan integer positif, elemen flex akan menjadi lentur - asas adalah asas, membesar dalam saiz di sepanjang paksi utama, dan mengambil ruang yang ada. flex-grow memperuntukkan ruang pertumbuhan secara berkadar.
Keadaan awal: Kami menetapkan lebar untuk ketiga-tiga elemen dan jumlahnya tidak lebih besar daripada lebar paksi utama
.flex-grow-father { width: 500px; div:nth-child(1) { width: 50px; } div:nth-child(2) { width: 100px; } div:nth-child(3) { width: 150px; } }
增加的宽度计算方法:假设元素的 flex-grow
值为 x
,正向自由空间宽度为l,则每个元素增加的宽度=,元素最终宽度 = ;
- 相同比例增长:当给每个子元素的都设定相同的 flex-grow 值,每个元素就会增长相同的宽度
.with-same-flex-grow { * { flex-grow: 1; } }
效果如下:
Pengiraan lebar elemen pertama dalam contoh ini;
第二个元素宽度宽度计算 ;
第三个同理为
- 不同比例增长:给每个子元素的都设定不同的 flex-grow 值
.with-different-flex-grow { div:nth-child(1) { flex-grow: 2; } div:nth-child(2) { flex-grow: 1; } div:nth-child(3) { flex-grow: 1; } }
效果如下:
Pengiraan lebar elemen pertama dalam contoh ini;
第二个元素宽度的计算;
第三个同理是
- 如果想让开始时尺寸不同的元素内容宽度相等(平分容器宽度),可以将 flex-basis 设置为 0(完全忽略 flex 子元素的尺寸) flex-grow 为 1(等比例分配)
.average { * { /* flex: 1 1 0; */ flex-basis: 0; flex-grow: 1; } }
效果如下:
flex-shrink
flex-shrink 属性指定了 flex 元素的缩小值,默认值为 1
; 它确定在分配 negative free space 时,flex 子元素相对于 flex 容器中其余 flex 子元素收缩的程度。默认值 1。用于减少盒子空间使盒子适应容器而不溢出(为了避免 border 干扰去掉边框)
我们给三个元素都设定宽度,并且总和大于主轴宽度;这里我们将元素的flex-shrink值设置为 0 (元素宽度不变,不需要吸收溢出的宽度),目的是观察一下反向自由空间。
.flex-shrink-wrapper { display: flex; div:nth-child(1) { width: 100px; background: gold; } div:nth-child(2) { width: 200px; background: tan; } div:nth-child(3) { width: 300px; background: gold; } } .zero { * { flex-shrink: 0; } }
Pengiraan lebar penyerapan: Andaikan bahawa nilai setiap pengecutan lentur ialah , lebar awal elemen ialah , bebas terbalik ruang untukMaka lebar yang diserap oleh setiap elemen ialah:
- 给子元素相同的 flex-shrink 值,这里以默认值 1 为例
.with-same-flex-shrink { * { flex-shrink: 1; } }
Pada masa ini, lebar penyerapan elemen pertama ialah: , lebar elemen akhir ialah
Pada masa ini, lebar penyerapan elemen pertama ialah: , lebar elemen akhir ialah
这时第一个元素的吸收宽度为:,最终元素宽度为
- 给子元素不同的 flex-shrink 值
.with-different-flex-shrink { div:nth-child(1) { flex-shrink: 1; } div:nth-child(2) { flex-shrink: 2; } div:nth-child(3) { flex-shrink: 0; } }
Pada masa ini, lebar penyerapan elemen pertama ialah: =80p−
Atas ialah kandungan terperinci Artikel yang menerangkan secara terperinci kesan tiga sifat flex pada elemen. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Terdapat beberapa cara untuk memasukkan imej dalam bootstrap: masukkan imej secara langsung, menggunakan tag HTML IMG. Dengan komponen imej bootstrap, anda boleh memberikan imej yang responsif dan lebih banyak gaya. Tetapkan saiz imej, gunakan kelas IMG-cecair untuk membuat imej boleh disesuaikan. Tetapkan sempadan, menggunakan kelas IMG-Sempadan. Tetapkan sudut bulat dan gunakan kelas IMG-bulat. Tetapkan bayangan, gunakan kelas bayangan. Saiz semula dan letakkan imej, menggunakan gaya CSS. Menggunakan imej latar belakang, gunakan harta CSS imej latar belakang.

Untuk menyesuaikan saiz unsur-unsur dalam bootstrap, anda boleh menggunakan kelas dimensi, yang termasuk: menyesuaikan lebar: .col-, .w-, .mw-adjust ketinggian: .h-, .min-h-, .max-h-

HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

Terdapat dua cara untuk membuat garis perpecahan bootstrap: menggunakan tag, yang mewujudkan garis perpecahan mendatar. Gunakan harta sempadan CSS untuk membuat garis perpecahan gaya tersuai.

Untuk menubuhkan rangka kerja bootstrap, anda perlu mengikuti langkah -langkah ini: 1. Rujuk fail bootstrap melalui CDN; 2. Muat turun dan tuan rumah fail pada pelayan anda sendiri; 3. Sertakan fail bootstrap di HTML; 4. Menyusun sass/kurang seperti yang diperlukan; 5. Import fail tersuai (pilihan). Setelah persediaan selesai, anda boleh menggunakan sistem grid Bootstrap, komponen, dan gaya untuk membuat laman web dan aplikasi yang responsif.

Bagaimana cara menggunakan butang bootstrap? Perkenalkan CSS bootstrap untuk membuat elemen butang dan tambahkan kelas butang bootstrap untuk menambah teks butang

Jawapan: Anda boleh menggunakan komponen pemetik tarikh bootstrap untuk melihat tarikh di halaman. Langkah -langkah: Memperkenalkan rangka kerja bootstrap. Buat kotak input pemilih Tarikh dalam HTML. Bootstrap secara automatik akan menambah gaya kepada pemilih. Gunakan JavaScript untuk mendapatkan tarikh yang dipilih.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.
