Rumah > hujung hadapan web > tutorial css > Mengapa Tidak `margin: auto auto;` Menegak Pusat Div?

Mengapa Tidak `margin: auto auto;` Menegak Pusat Div?

Patricia Arquette
Lepaskan: 2024-12-11 09:08:14
asal
609 orang telah melayarinya

Why Doesn't `margin: auto auto;` Vertically Center a Div?

Menjajarkan Div secara menegak dengan margin:auto

Sementara jidar: 0 auto; boleh memusatkan div secara mendatar, margin: auto auto; tidak menyelaraskannya secara menegak seperti yang dimaksudkan. Selain itu, jajaran menegak: tengah; tidak berkesan untuk elemen peringkat blok.

Mengapa Margin Auto Menegak Gagal

  • margin-atas: auto dan margin-bottom: auto kira kepada sifar, tidak memberikan kesan pemusatan.
  • margin atas: -50% mengira nilainya berbanding dengan lebar blok yang mengandungi, bukan ketinggiannya.

Penyelesaian Menggunakan Elemen Bersarang

Satu penyelesaian yang berdaya maju melibatkan tiga elemen bersarang:

.container {
    display: table;
    height: 100%;
    position: absolute;
    overflow: hidden;
    width: 100%;
}
.helper {
    position: absolute;
    top: 50%;
    display: table-cell;
    vertical-align: middle;
}
.content {
    position: relative;
    top: -50%;
    margin: 0 auto;
    width: 200px;
    border: 1px solid orange;
}
Salin selepas log masuk
<div class="container">
    <div class="helper">
        <div class="content">
            <p>stuff</p>
        </div>
    </div>
</div>
Salin selepas log masuk

Dalam hal ini penyelesaian:

  • Elemen .bekas luar membentuk struktur seperti jadual.
  • Elemen .helper meletakkan kandungan pada titik tengah menegak.
  • Kandungan . div diletakkan dalam .helper dan boleh dipusatkan secara mendatar dengan margin: 0 auto;.

Atas ialah kandungan terperinci Mengapa Tidak `margin: auto auto;` Menegak Pusat Div?. 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