cari
Rumahhujung hadapan webtutorial cssPetua Pantas: Bagaimana Z-Indeks dan Margin Auto Berfungsi di Flexbox

Quick Tip: How z-index and Auto Margins Work in Flexbox

Flexbox digunakan secara meluas untuk menyelesaikan masalah susun atur yang sama seperti kaki melekit dan lajur kontur. Sebagai tambahan kepada ciri -ciri ini, ia menawarkan beberapa ciri praktikal lain yang kurang popular. Mari kita meneroka dua daripada mereka!

mata utama

    Flexbox membolehkan atribut
  • digunakan untuk unsur -unsur yang tidak tercook (seperti projek flex) walaupun atribut position projek Flex ditetapkan kepada static. Ini boleh digunakan untuk mengawal susunan elemen. z-index
  • Margin automatik dalam Flexbox boleh digunakan untuk melaksanakan penjajaran tersuai item flex di sepanjang gelendong. Mereka menyerap ruang tambahan dan menolak projek bersebelahan, membolehkan corak UI yang unik.
  • Walaupun kelihatan sama secara visual, menggunakan margin automatik dan sifat
  • boleh menghasilkan hasil susun atur yang berbeza, terutama dari segi lebar atau ketinggian yang dikira elemen. Adalah penting untuk memilih kaedah yang paling sesuai dengan susun atur yang dikehendaki. flex-grow
flexbox dan z-indeks

Anda mungkin sudah tahu bahawa atribut

hanya sesuai untuk unsur -unsur kedudukan. Secara lalai, atribut z-index semua elemen adalah position dan tidak diposisikan. Apabila atribut static unsur ditetapkan ke position, relative, absolute, atau fixed, elemen adalah elemen "kedudukan". sticky Walau bagaimanapun, unsur -unsur yang tidak tercook (seperti item flex) juga boleh menerima atribut

. Spesifikasi susun atur kotak elastik CSS menunjukkan:

z-index

projek flex ditarik dengan cara yang sama seperti blok sebaris [CSS21], kecuali bahawa urutan dokumen diubah suai mengikut urutan dan bukannya urutan dokumen asal, dan walaupun
adalah

, nilai position (bukan static) juga mewujudkan konteks penyusunan. z-index auto

untuk memahami tingkah laku ini, pertimbangkan contoh berikut:

pautan demo codepen

di sini, kita menentukan dua elemen:

elemen dan

elemen. .front Unsur ini mempunyai elemen kanak -kanak, kotak dengan nombor "1". .back elemen itu sendiri benar -benar diposisikan. Khususnya, atributnya .front adalah .front dan meliputi keseluruhan viewport. position fixed elemen

kami adalah bekas flex. Ia mengandungi dua elemen kanak -kanak - kotak dengan nombor "2" dan "3". Berdasarkan apa yang kita bincangkan di atas, kita boleh menetapkan atribut

dari projek Flexnya, walaupun mereka tidak meletakkan unsur -unsur (iaitu atribut .back mereka adalah z-index). position static Perhatikan bahawa apabila kita menambah

ke projek Flex dengan mengklik butang dalam demo di atas, mereka berada di atas elemen

. z-index: 2

flexbox dan margin automatik

kita dapat menyelesaikan corak UI biasa dengan menggunakan margin automatik untuk projek flex. Pertama, mari kita anggap kita mahu membina susun atur tajuk biasa ini:

Quick Tip: How z-index and Auto Margins Work in Flexbox

Untuk membinanya, kami akan menggunakan Flexbox. Tidak perlu terapung, lebar tetap atau apa -apa seperti itu.

ini tanda kami:

<header>
  <nav>
    <h1 id="LOGO">LOGO</h1>
    <ul class="menu">
      <li><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">About</a></li>
      <li><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Projects</a></li>
      <li><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Contact</a></li>
    </ul>
    <ul class="social">
      <li><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Facebook</a></li>
      <li><a href="https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">Twitter</a></li>
    </ul>
  </nav>
</header>
CSS kami adalah seperti berikut:

header {
  background: https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b333;
}

nav {
  display: flex;
  align-items: center;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.menu {
  margin-left: 60px;
  margin-right: auto;
}
Dalam contoh ini, elemen

kami adalah bekas Flex, dan logo, menu utama dan menu sosial adalah item Flex. Seperti yang dapat dilihat dari visualisasi sebelumnya, dua item flex pertama diselaraskan di sepanjang paksi utama ke sebelah kiri bekas Flex. Sebaliknya, menu sosial menjajarkan sepanjang paksi utama dengan tepi kanan elemen induknya. nav

Satu cara untuk mencapai penjajaran tersuai ini adalah untuk menambah

ke menu utama. Dengan hanya satu baris kod, kita boleh mengatasi penjajaran lalai menu sosial dan menolaknya sepenuhnya ke kanan bekasnya. Begitu juga, kami menggunakan harta margin-right: auto untuk mengatasi penjajaran lalai item Flex di sepanjang paksi salib. align-self

Selain margin automatik, kami juga boleh menggunakan kaedah kedua untuk membina susun atur yang diperlukan. Pertama, kami mengeluarkan harta dari menu utama dan tambahkan

kepadanya. margin-right flex-grow: 1 Walaupun hasilnya kelihatan sama dalam kedua -dua kes, terdapat perbezaan yang besar. Dengan penyelesaian pertama, menu kami mempunyai lebar yang dikira awalnya. Sebagai contoh, apabila lebar viewport adalah 1100px, lebar menu akan kelihatan seperti ini:

Sebaliknya, dengan penyelesaian kedua, lebar menu akan menjadi lebih besar kerana kami menetapkan

. Apabila lebar viewport adalah 1100px, lebarnya yang sama adalah seperti berikut: Quick Tip: How z-index and Auto Margins Work in Flexbox

flex-grow: 1

pautan demo codepen

Quick Tip: How z-index and Auto Margins Work in Flexbox

mari kita anggap kita mahu mengubah suai susun atur tajuk. Berikut adalah susun atur yang diperlukan:

Tanda

tetap sama. Kami hanya perlu membuat beberapa perubahan dalam CSS:

Dalam contoh ini, perhatikan bahawa menu sosial sejajar dengan tepi bawah elemen induknya. Sekali lagi, ini dilakukan dengan menambahkan Quick Tip: How z-index and Auto Margins Work in Flexbox ke menu utama. Sudah tentu, kita juga boleh menggunakan

, tetapi ini akan meningkatkan ketinggian menu.

nav {
  background: https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b333;
  display: flex;
  flex-direction: column;
  height: 100vh;
  width: 180px;
  padding: 20px;
  box-sizing: border-box;
}

.menu {
  margin-top: 60px;
  margin-bottom: auto;
}
pautan demo codepen

margin-bottom: autoSatu lagi perkara yang perlu diperhatikan ialah jika kita menentukan harta

dalam apa jua contoh, kita tidak akan melihat sebarang perbezaan visual. Ini berlaku kerana kami menggunakan margin automatik untuk menyelaraskan item flex. Atribut justify-content hanya akan berkuatkuasa apabila kita memadam margin automatik. Menurut spesifikasi: justify-content

Jika ruang kosong ditugaskan untuk margin automatik, harta penjajaran tidak akan berfungsi dalam dimensi itu, kerana margin akan mengambil ruang di semua ruang bebas yang tersisa selepas flex.

Seterusnya, mari buat varian baru tajuk:

Quick Tip: How z-index and Auto Margins Work in Flexbox Ini dapat dicapai dengan mudah dengan menetapkan

ke bekas flex, tanpa keraguan. Walau bagaimanapun, sekali lagi, kami dapat menggunakan margin automatik untuk menghasilkan susun atur yang sama. Apa yang perlu kita lakukan ialah memohon

ke menu utama. justify-content: space-between margin: 0 auto

pautan demo codepen

Kesimpulan

Dalam artikel ini, kami memperkenalkan dua petua Flexbox yang kurang dikenali. Sebelum kita selesai, mari kita tinjau:

Walaupun sifat
    projek flex adalah
  • , kita boleh memohon atribut position ke projek Flex. static z-index kita boleh menggunakan margin automatik untuk mencapai penjajaran tersuai item flex di sepanjang gelendong.
  • Jika anda menggunakan mana -mana petua ini dalam projek anda, beritahu kami dalam komen di bawah.

FAQ untuk z-indeks dan margin automatik dalam flexbox

Apakah z-indeks dalam flexbox? Bagaimana ia berfungsi?

adalah atribut CSS yang mengawal urutan penumpukan menegak elemen bertindih. Dalam Flexbox, harta boleh digunakan untuk mengawal urutan di mana item Flex berada di sepanjang paksi z. Adalah penting untuk diperhatikan bahawa

hanya sesuai untuk elemen kedudukan. Nilai lalai ialah Z-Index, yang bermaksud susunan susunan adalah sama dengan elemen induknya. Jika nombor positif diberikan kepada Z-Index, elemen akan berada di atas elemen induk. Z-Index auto Mengapa indeks Z saya tidak berfungsi di Flexbox? Z-Index

anda tidak berfungsi di Flexbox kerana beberapa sebab. Sebab yang sama ialah atribut

hanya sesuai untuk unsur -unsur kedudukan. Jika elemen anda tidak diposisikan (iaitu, nilai

tidak Z-Index, Z-Index atau position), maka relative tidak akan memberi kesan. Sebab lain ialah elemen induk mempunyai set nilai absolute, yang mempengaruhi urutan penyusunan elemen kanak -kanak. fixed

Bagaimana margin automatik berfungsi di flexbox?

Di Flexbox, margin automatik mempunyai ciri khas. Mereka boleh menyerap ruang tambahan dan menolak projek bersebelahan. Apabila anda menetapkan margin automatik pada projek Flex, ia mengambil apa -apa ruang yang tinggal di sepanjang gelendong, dengan berkesan menolak projek lain. Ini sangat berguna untuk menyelaraskan item dalam bekas flex.

Bolehkah saya menggunakan z-indeks untuk mengawal susunan item flex?

Ya, anda boleh menggunakan harta Z-Index untuk mengawal susunan item flex di sepanjang paksi z. Walau bagaimanapun, ingat bahawa Z-Index hanya sesuai untuk elemen kedudukan. Jika projek Flex anda tidak diposisikan, Z-Index tidak akan memberi kesan.

Mengapa projek Flex saya tidak diselaraskan dengan margin automatik?

Jika projek Flex anda tidak diselaraskan dengan margin automatik, ia mungkin disebabkan oleh beberapa sebab. Sebab yang sama adalah bahawa bekas Flex mempunyai ketinggian atau lebar tetap, yang membatasi ruang yang tersedia untuk margin. Sebab lain ialah projek Flex mempunyai saiz tetap, yang menghalang margin daripada menyerap ruang tambahan.

Bagaimana menyelesaikan masalah z-indeks di flexbox?

Selesaikan masalah Z-Index di Flexbox biasanya melibatkan memastikan elemen anda diposisikan dan nilai Z-Index ditetapkan dengan betul. Jika Z-Index anda tidak berfungsi, periksa sama ada elemen anda diletakkan. Jika tidak, anda boleh mengesannya dengan menetapkan nilai relative, absolute atau fixed. Juga, periksa nilai position unsur induk, kerana ia mempengaruhi urutan penyusunan elemen kanak -kanak. Z-Index

Bolehkah saya menggunakan margin automatik untuk memusatkan item flex?

Ya, anda boleh menggunakan margin automatik untuk memusatkan item flex dalam bekas Flex. Dengan menetapkan margin automatik di semua sisi projek Flex, ia akan berpusat secara menegak dan mendatar dalam bekas Flex.

Apakah nilai lalai z-indeks dalam flexbox?

Nilai lalai

dalam Z-Index dalam flexbox adalah auto. Ini bermakna bahawa susunan susunan item Flex adalah sama dengan elemen induknya. Jika anda ingin menukar susunan susunan, anda boleh menetapkan nombor positif atau negatif kepada Z-Index.

Bagaimanakah z-indeks mempengaruhi susunan elemen stacking?

Z-Index Mempengaruhi susunan elemen penyusunan dengan menentukan unsur -unsur yang muncul di atas unsur -unsur lain. Unsur -unsur dengan nilai yang lebih tinggi Z-Index akan muncul di atas unsur -unsur dengan nilai Z-Index yang lebih rendah. Jika dua elemen mempunyai Z-Index yang sama, unsur -unsur yang muncul selepas HTML akan muncul di bahagian atas.

Bolehkah saya menggunakan z-indeks dengan flexbox untuk membuat elemen bertindih?

Ya, anda boleh menggunakan atribut Z-Index dengan Flexbox untuk membuat elemen bertindih. Dengan memberikan nilai Z-Index yang berbeza ke projek Flex anda, anda boleh mengawal item yang muncul di atas projek lain, mewujudkan kesan bertindih. Ingat bahawa Z-Index hanya sesuai untuk unsur -unsur kedudukan, jadi anda perlu meletakkan projek Flex anda untuk Z-Index untuk berkuatkuasa.

Sila ambil perhatian bahawa saya telah menyimpan semua pautan imej dalam format asal dan mempunyai pseudo-asal teks, berusaha untuk membuat artikel ekspresif lebih pelbagai tanpa mengubah makna asal. Oleh kerana pautan codepen tidak dapat diakses, saya menggantikan pautan dalam teks asal dengan " pautan demo codepen ". Sila ganti dengan pautan sebenar sendiri.

Atas ialah kandungan terperinci Petua Pantas: Bagaimana Z-Indeks dan Margin Auto Berfungsi di Flexbox. 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
Pembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesPembaca Skrin Demystifying: Borang & Amalan Terbaik DiaksesMar 08, 2025 am 09:45 AM

Ini adalah jawatan ke -3 dalam siri kecil yang kami lakukan dalam kebolehcapaian bentuk. Jika anda terlepas jawatan kedua, lihat "Menguruskan Fokus Pengguna dengan: Fokus-Visible". Dalam

Buat borang hubungan JavaScript dengan rangka kerja pintarBuat borang hubungan JavaScript dengan rangka kerja pintarMar 07, 2025 am 11:33 AM

Tutorial ini menunjukkan mewujudkan bentuk JavaScript yang berpandangan profesional menggunakan rangka kerja pintar (nota: tidak lagi tersedia). Walaupun kerangka itu sendiri tidak tersedia, prinsip dan teknik tetap relevan untuk pembina bentuk lain.

Menambah bayang -bayang kotak ke blok dan elemen WordPressMenambah bayang -bayang kotak ke blok dan elemen WordPressMar 09, 2025 pm 12:53 PM

CSS box-shadow dan garis besar sifat mendapat tema.json Sokongan dalam WordPress 6.1. Let ' s melihat beberapa contoh bagaimana ia berfungsi dalam tema sebenar, dan pilihan apa yang kita perlu gunakan gaya ini ke blok dan elemen WordPress.

Bekerja dengan Caching GraphqlBekerja dengan Caching GraphqlMar 19, 2025 am 09:36 AM

Sekiranya anda baru -baru ini mula bekerja dengan GraphQL, atau mengkaji semula kebaikan dan keburukannya, anda tidak akan ragu -ragu mendengar perkara seperti "Graphql tidak menyokong caching" atau

Menjadikan Peralihan Svelte Khas pertama andaMenjadikan Peralihan Svelte Khas pertama andaMar 15, 2025 am 11:08 AM

API Peralihan Svelte menyediakan cara untuk menghidupkan komponen apabila mereka memasuki atau meninggalkan dokumen, termasuk peralihan svelte adat.

CSS Scrollbars Custom Custom: PameranCSS Scrollbars Custom Custom: PameranMar 10, 2025 am 11:37 AM

Dalam artikel ini kita akan menyelam ke dunia scrollbars. Saya tahu, ia tidak terdengar terlalu glamor, tetapi percayalah, halaman yang direka dengan baik

Tunjukkan, jangan beritahuTunjukkan, jangan beritahuMar 16, 2025 am 11:49 AM

Berapa banyak masa yang anda habiskan untuk merancang persembahan kandungan untuk laman web anda? Semasa anda menulis catatan blog baru atau membuat halaman baru, adakah anda memikirkan

Apa yang ada perintah npm?Apa yang ada perintah npm?Mar 15, 2025 am 11:36 AM

Perintah NPM menjalankan pelbagai tugas untuk anda, sama ada sebagai satu-satunya atau proses berjalan terus untuk perkara seperti memulakan pelayan atau menyusun kod.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 Linux versi baharu

SublimeText3 Linux versi baharu

SublimeText3 Linux versi terkini

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),