Mengekalkan Nisbah Aspek Div Berdasarkan Ketinggian Menggunakan CSS
Apabila ia datang untuk mengekalkan perkadaran unsur, penyelesaian tradisional adalah menggunakan nilai peratusan untuk pelapik menegak. Walau bagaimanapun, mencapai kesan yang sama dengan pelapik mendatar tidak semudah itu. Artikel ini meneroka pendekatan berasaskan CSS untuk mengekalkan nisbah bidang unsur div berdasarkan ketinggiannya.
Struktur markup yang diingini adalah seperti berikut:
<div class="box"> <div class="inner"></div> </div>
Untuk mengekalkan nisbah bidang , kita boleh memanfaatkan sifat nisbah aspek CSS:
<code class="css">.box { height: 50%; background-color: #3CF; aspect-ratio: 2 / 1; }</code>
Sifat nisbah aspek menentukan nisbah lebar kepada ketinggian elemen. Dalam kes ini, nisbah 2:1 menunjukkan bahawa lebar akan menjadi dua kali tinggi.
Dengan menetapkan ketinggian elemen induk (kotak) kepada nilai bendalir (mis., 50%) dan melaraskannya sifat nisbah aspek, kami boleh memastikan bahawa lebarnya berskala berkadaran dengan ketinggian.
Untuk menunjukkan kesannya, anda boleh mempertimbangkan kod HTML dan CSS berikut:
<code class="html"><div class="demo"> <div class="box"> <ul> <li>This box has fluid height of 50%</li> <li>It has an aspect ratio of 2:1</li> <li>Resize the container vertically (or horizontally)</li> <li>The box will maintain its aspect ratio</li> <li>The text content will not affect its width</li> </ul> </div> </div></code>
<code class="css">.demo { width: 90vw; height: 90vh; overflow: auto; resize: both; outline: 1px solid #999; }</code>
Mengubah saiz bekas (.demo) akan menunjukkan bahawa kotak (kotak) melaraskan lebarnya sambil mengekalkan nisbah bidang 2:1nya. Penyelesaian ini menyediakan cara yang bersih dan berkesan untuk mengekalkan perkadaran elemen yang diingini semata-mata melalui CSS.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Nisbah Aspek Div Berdasarkan Ketinggiannya Menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!