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
433 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!

sumber:php.cn
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