Rumah >hujung hadapan web >tutorial css >Mengapa Ketinggian Item Grid CSS Saya Tidak Menggandakan Ketinggian Bekas Induk?

Mengapa Ketinggian Item Grid CSS Saya Tidak Menggandakan Ketinggian Bekas Induk?

Patricia Arquette
Patricia Arquetteasal
2024-11-29 15:58:12457semak imbas

Why Doesn't My CSS Grid Item Height Double the Parent Container's Height?

Grid CSS: Kekeliruan Pengiraan Ketinggian Elemen

Anda menghadapi masalah dengan ketinggian elemen grid CSS, khususnya .gridItem , tidak dikira seperti yang dijangkakan. Dalam persediaan grid ini:

.gridContainer {
  height: 100px;
  grid-template-rows: 1fr;
}

.gridItem {
  height: 200%;
}

Niatnya adalah untuk .gridItem menjadi dua kali ketinggian induknya, .gridContainer. Walau bagaimanapun, hasilnya nampaknya mempertimbangkan ketinggian elemen kanak-kanak sebaliknya.

Memahami Hubungan Ibu Bapa-Anak dalam Grid CSS

Apabila bekerja dengan grid CSS, adalah penting untuk memahami hubungan ibu bapa-anak. Dalam kes ini, elemen induk untuk .gridItem bukanlah .gridContainer secara langsung tetapi sebaliknya adalah runut grid yang mengandunginya.

Apabila menentukan grid-template-rows: 1fr;, anda mencipta trek dengan fleksibel ketinggian yang mengambil 1 unit pecahan ruang yang tersedia ibu bapa. Memandangkan induk ialah ketinggian tetap 100px, ketinggian trek menjadi 100px.

Oleh itu, walaupun .gridItem mempunyai ketinggian: 200%, ia merujuk kepada ketinggian trek induknya, iaitu 100px. Ini menerangkan sebab ketinggian .gridItem berkesan dua kali ganda ketinggian trek dan bukannya bekas induk.

Betulkan: Menetapkan Ketinggian Eksplisit pada Kedua-dua Bekas dan Trek

Untuk menyelesaikan isu ini, anda perlu menentukan ketinggian tetap pada kedua-dua .gridContainer dan trek grid. Ini mewujudkan hubungan ibu bapa-anak yang jelas dan membenarkan peratusan ketinggian .gridItem berfungsi dengan betul.

.gridContainer {
  height: 100px;
  grid-template-rows: 100px;
}

.gridItem {
  height: 200%;
}

Dengan pelarasan ini, ketinggian .gridItem kini sepatutnya dua kali ganda ketinggian .gridContainer, seperti yang dijangkakan .

Atas ialah kandungan terperinci Mengapa Ketinggian Item Grid CSS Saya Tidak Menggandakan Ketinggian Bekas Induk?. 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