Rumah >hujung hadapan web >tutorial css >Mengapakah `margin-top` Berfungsi dengan `inline-block` tetapi Tidak dengan `inline`?
Mengapa Margin-Top Berfungsi dengan Inline-Block tetapi Tidak dengan Inline
Dalam pembangunan web, memahami perbezaan antara inline dan inline-block adalah penting untuk membentuk tingkah laku elemen pada halaman. Soalan ini cuba menjelaskan percanggahan dalam aplikasi jidar atas antara dua sifat paparan ini.
Sebaris dan Sebaris-Blok
Spesifikasi CSS2 mentakrifkan sebaris sebagai nilai yang mewakili elemen sebaris. Elemen sedemikian muncul sebagai satu baris berterusan tanpa gangguan. Blok sebaris, sebaliknya, mencipta bekas blok peringkat sebaris, bermakna elemen ini berkelakuan seperti blok dalam pemformatan sebaris. Seperti yang digambarkan dalam dokumentasi CSS2:
Hormat Margin
Selain itu, spesifikasi CSS2 menggariskan penghormatan margin elemen sebaris:
"Dalam pemformatan sebaris konteks, kotak dibentangkan secara mendatar, satu demi satu, bermula di bahagian atas blok yang mengandungi Jidar mendatar, sempadan,. dan padding dihormati di antara kotak-kotak ini."
Perbezaan ini menerangkan sebab margin-top tidak berfungsi dengan elemen sebaris. Elemen sebaris dihadkan untuk menghormati jidar mendatar sahaja, manakala elemen peringkat blok seperti blok sebaris menghormati kedua-dua jidar mendatar dan menegak.
Contoh
Pertimbangkan HTML dan CSS disediakan dalam soalan:
<!DOCTYPE html> <head> <link rel="stylesheet" type="text/css" href="MyFirstWebsite.css"> <title>Max Pleaner's First Website</title> </head> <body> <h1>Welcome to my site.</h1> </body> </html>
body { background-image: url('sharks.jpg'); } h1 { background-color: #1C0245; display: inline; padding: 6.5px 7.6px; margin-left: 100px; margin-top: 25px; }
Dalam kes ini, elemen h1 hanya akan memaparkan jidar mendatar sebanyak 100px apabila sifat paparan ditetapkan kepada sebaris. Walau bagaimanapun, jika sifat paparan ditukar kepada blok sebaris, margin atas 25px akan digunakan, kerana elemen h1 kemudiannya dianggap sebagai elemen tahap blok dalam konteks sebaris.
Atas ialah kandungan terperinci Mengapakah `margin-top` Berfungsi dengan `inline-block` tetapi Tidak dengan `inline`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!