Rumah >hujung hadapan web >tutorial css >Apakah keruntuhan margin? Dalam keadaan apa ia muncul? Bagaimana untuk menyelesaikannya?
Artikel ini akan membawa anda memahami model kotak CSS dan memperkenalkan apakah keruntuhan margin? Dalam keadaan apakah keruntuhan margin berlaku? Dan bercakap tentang penyelesaian.
Dalam CSS, semua elemen dikelilingi oleh "kotak" Kami secara meluas menggunakan dua jenis "kotak" - kotak peringkat blok (block box
) dan kotak sebaris ( inline box
).
Dalam CSS, model kotak digunakan semasa reka bentuk dan reka letak.
Takrifan model kotak boleh dibahagikan kepada bahagian ini:
width
dan height
.padding
. border
. margin
. Kotak peringkat blok menggunakan sepenuhnya model kotak CSS, manakala kotak sebaris hanya menggunakan sebahagian daripada kandungan yang ditakrifkan dalam model kotak. Atribut
box-sizing
box-sizing
mentakrifkan cara penyemak imbas harus mengira jumlah lebar dan ketinggian sesuatu elemen.
content-box
(nilai lalai) , iaitu model kotak standard, width: 100px
bermakna kawasan kandungan akan berukuran 100px lebar. content(100px)
padding
border
border-box
, iaitu model kotak alternatif (IE) , width: 100px
bermakna jumlah 内容区 边框 内边距
ialah 100px lebar. content
padding
border
= 100px
Tanpa mengira model , margin Mereka tidak termasuk dalam saiz sebenar - sudah tentu, ia akan menjejaskan ruang yang diduduki oleh kotak pada halaman, tetapi ia akan menjejaskan ruang di luar kotak.
display
Konsep boleh ditambah di sini - jenis paparan dalaman dan luaran.
display
, seperti blok inline
atau block
tahap. Jika display: flex
ditetapkan, pada elemen, jenis paparan luar ialah block
, tetapi jenis paparan dalam ditukar kepada flex
. Semua elemen anak langsung kotak akan menjadi elemen flex
dan akan dibentangkan mengikut peraturan flexbox (Flexbox
).
Terdapat juga nilai istimewa -- display: inline-block
, yang menyediakan keadaan perantaraan antara sebaris dan blok. Ini sangat berguna untuk situasi berikut: tiada pembalut garisan berlaku, tetapi lebar dan ketinggian boleh ditetapkan, yang bermaksud bahawa beberapa kesan peringkat blok dicapai:
width
dan height
atribut akan berkuat kuasa . padding
, margin
dan border
tolak elemen lain. Dalam HTML4, elemen dibahagikan kepada dua kategori: inline
(elemen sebaris) dan block
( elemen peringkat blok).
Elemen sebaris hanya menduduki ruang yang terdapat pada sempadan label yang sepadan.
Elemen sebaris biasa termasuk a
, b
, span
, img
, strong
, sub
sup
, button
, input
, label
, select
, textarea
Elemen peringkat blok menduduki seluruh ruang elemen induknya (bekas), sekali gus mewujudkan "blok". Biasanya pelayar akan menambah baris baru sebelum dan selepas elemen peringkat blok.
Elemen peringkat blok biasa termasuk div
, ul
, ol
, li
, dl
, dt
, dd
, h1
, h2
, h3
, h4
, h5
, h6
, p
Dalam format (lalai), elemen sebaris tidak akan membalut, tetapi elemen peringkat blok akan.
Kandungan (lalai), elemen sebaris hanya boleh mengandungi data dan unsur sebaris lain. Elemen peringkat blok boleh mengandungi elemen sebaris dan elemen peringkat blok lain.
Pada atribut :
width
dan height
Tetapan tidak sah (ketinggian garis boleh ditetapkan), padding
), jidar (margin
) dan jidar (border
) dalam arah atas dan bawah Tiada kesan pada unsur lain. width
dan atribut height
turut dimainkan, padding
), jidar (margin
) dan sempadan (border
) akan "menolak" elemen lain dari sekeliling elemen semasa runtuhkan margin
.margin-top
Jing menegak dua atau lebih elemen blok bersebelahan dalam aliran biasa akan runtuhmargin-bottom
: Ini bermakna hanya jidar menegak boleh Bagaimana
tetapan / , beberapa senario khusus: BFC
padding
Pertindihan berlaku kerana ia bersebelahan, jadi kami boleh menyelesaikan masalah dengan itu. Kita boleh menetapkan nilai border
,
margin-top
margin-top
elemen induk dengan ketinggian
elemen anak. border-top
padding-top
bertindih satu kerana ia bersebelahan dan satu lagi kerana ketinggian unsur induk tidak tetap. Oleh itu, kita boleh menetapkan
juga boleh menyelesaikan masalah ini. auto
margin-bottom
margin-bottom
dan border-bottom
nya sendiri berlaku. padding-bottom
max-height
Kita boleh menyelesaikan masalah ini dengan menetapkan min-height
,
margin-top
margin-bottom
Faktor yang mencetuskan border
padding
BFC
float
(kecuali statik/relatif)overflow
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila layari: display
Atas ialah kandungan terperinci Apakah keruntuhan margin? Dalam keadaan apa ia muncul? Bagaimana untuk menyelesaikannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!