Ben bir görüntü ve metin yukarıda ve altında bir menü sistemi oluşturmaya çalışıyorum. Veriler dinamiktir. Menü sisteminin, her bir görüntünün birbirinden eşit mesafede olması ve böylece hem yatay hem de dikey bir görüntü ızgarasında sıralanması için görünmesini istiyorum.
Sorun metindir. Metin görüntüden daha uzunsa, div büyütülür. Ancak, görüntüler artık birbirleriyle eşit olarak aralıklandırılmadığından garip görünümlü bir boşluk oluşturur.
Bu sorunu çözmek için en iyi yaklaşımın, daha büyük div'in büyüklüğünü benimsemek için diğer div'lerin her birine sahip olmak olduğunu düşünüyorum. Ancak, bunu nasıl yapacağımdan emin değilim.
Özelliği kullanarak flexbox ile denedim flex-wrap
. Güzel bir şekilde sarılırken, her bir görüntünün birbirinden eşit uzaklıkta olmasını sağlamak için bir yol bulamadım.
Bunu nasıl başarabilirim?
Kodum aşağıdaki gibidir:
#outer {
display: flex;
}
#main {
display: flex;
justify-content: space-between;
flex-wrap: wrap;
border: solid black 25px;
border-radius: 25px;
width: 450px;
height: 500px;
padding: 20px;
}
.section {
background-color: #ddd;
padding: 15px;
}
.label, .icon {
text-align: center;
}
<div id="outer">
<div id="main">
<div class="section">
<div class="label">Label 1AAAAAAAAAAA</div>
<div class="icon"><img src="https://via.placeholder.com/75"></div>
<div class="label">Label 1B</div>
</div>
<div class="section">
<div class="label">Label 2A</div>
<div class="icon"><img src="https://via.placeholder.com/75"></div>
<div class="label">Label 2B</div>
</div>
<div class="section">
<div class="label">Label 3A</div>
<div class="icon"><img src="https://via.placeholder.com/75"></div>
<div class="label">Label 3B</div>
</div>
<div class="section">
<div class="label">Label 4A</div>
<div class="icon"><img src="https://via.placeholder.com/75"></div>
<div class="label">Label 4B</div>
</div>
<div class="section">
<div class="label">Label 5A</div>
<div class="icon"><img src="https://via.placeholder.com/75"></div>
<div class="label">Label 5B</div>
</div>
</div>
</div>
PS. Ayrıca div bölümlerimin neden yüksekliklerini artırdığından emin değilim. Dolayısıyla bununla ilgili her türlü anlayış da takdir edilecektir.
align-items
olarak ayarlanmış olmasıdır stretch
. Bunu kolayca değiştirebilirsiniz:align-items: flex-start;