Rumah > hujung hadapan web > tutorial css > Mengapa Margin: Auto Tidak Sentiasa Memusatkan Elemen Kedudukan?

Mengapa Margin: Auto Tidak Sentiasa Memusatkan Elemen Kedudukan?

Linda Hamilton
Lepaskan: 2024-11-08 00:36:03
asal
658 orang telah melayarinya

Why Does Margin: Auto Not Always Center Positioned Elements?

Margin:auto Tidak Cukup untuk Memusatkan Elemen Kedudukan

Apabila cuba mendatar melintang elemen kedudukan mutlak atau tetap, margin: sifat auto sahaja mungkin tidak mencukupi.

Untuk elemen dalam aliran (elemen tanpa kedudukan: mutlak atau tetap), tetapan lebar sahaja sudah memadai. Margin: auto akan mengimbangi jidar kiri dan kanan secara automatik untuk memusatkan elemen.

Walau bagaimanapun, untuk elemen diposisikan, situasinya berbeza. Mengikut spesifikasi CSS:

  • Jika kiri, kanan dan lebar semuanya automatik, jidar-kiri dan jidar-kanan ditetapkan kepada 0, menyebabkan tiada pemusatan.
  • Jika kiri, kanan dan lebar bukan semuanya automatik, jidar-kiri dan jidar-kanan ditetapkan kepada nilai yang sama, yang menghasilkan pemusatan.

Untuk memusatkan elemen kedudukan:

1. Tetapkan kiri, kanan dan lebar

position: absolute;
left: 0;
right: 0;
width: 70px;
Salin selepas log masuk

2. Tetapkan jidar kiri dan jidar kanan kepada auto (pilihan)

position: absolute;
left: 0;
right: 0;
width: 70px;
margin-left: auto;
margin-right: auto;
Salin selepas log masuk

Menetapkan kiri dan kanan kepada 0 pada asasnya mentakrifkan sempadan kiri dan kanan di mana elemen boleh bergerak. Margin: auto kemudian mengimbangi ruang antara sempadan ini.

Contoh:

Pertimbangkan elemen induk dengan lebar 200px dan elemen anak yang diposisikan secara mutlak dengan lebar 70px:

parent {
  width: 200px;
  position: relative;
}
child {
  position: absolute;
  left: 0;
  right: 0;
  width: 70px;
  margin: auto; /* Optional */
}
Salin selepas log masuk

Apabila margin: auto digunakan, elemen anak dipusatkan secara mendatar berkenaan dengan induk. Ini kerana margin yang dikira (margin-kiri dan margin-kanan) adalah sama, yang secara berkesan meletakkan kanak-kanak di tengah-tengah ruang yang tersedia.

Atas ialah kandungan terperinci Mengapa Margin: Auto Tidak Sentiasa Memusatkan Elemen Kedudukan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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