Rumah >hujung hadapan web >tutorial css >Mengapakah `margin-top` Berfungsi dengan `inline-block` tetapi Tidak dengan `inline`?

Mengapakah `margin-top` Berfungsi dengan `inline-block` tetapi Tidak dengan `inline`?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-27 10:10:10911semak imbas

Why Does `margin-top` Work with `inline-block` but Not with `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:

  • Sebaris: "Nilai ini menyebabkan elemen menjana satu atau lebih kotak sebaris."
  • Blok sebaris: "Nilai ini menyebabkan elemen menjadi menjana bekas blok peringkat sebaris Bahagian dalam blok sebaris diformatkan sebagai kotak blok dan elemen itu sendiri diformatkan sebagai tahap sebaris atom. kotak."

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!

Kenyataan:
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