TL; DR:table-layout: fixed
CSS ızgaraları gibi bir şey var mı ?
Aylar için büyük bir 4x3 ızgara ve günler için iç içe geçmiş 7x6 ızgaralarla bir yıl görünümü takvimi oluşturmaya çalıştım.
Takvim sayfayı doldurmalıdır, böylece yıl ızgarası kapsayıcısı her birinin genişliği ve yüksekliği% 100 olur.
.year-grid {
width: 100%;
height: 100%;
display: grid;
grid-template: repeat(3, 1fr) / repeat(4, 1fr);
}
.month-grid {
display: grid;
grid-template: repeat(6, 1fr) / repeat(7, 1fr);
}
İşte çalışan bir örnek: https://codepen.io/loilo/full/ryXLpO/
Basit olması için, o kalemde her ayın 31 günü vardır ve bir Pazartesi günü başlar.
Sorunu göstermek için gülünç derecede küçük bir yazı tipi boyutu da seçtim:
Kılavuz öğeleri (= gün hücreleri), sayfada birkaç yüz tane olduğu için oldukça yoğunlaştırılmıştır. Ve gün sayısı etiketleri çok büyük hale gelir gelmez (sol üstteki düğmeleri kullanarak kalemdeki yazı tipi boyutuyla oynamaktan çekinmeyin), ızgara sadece boyut olarak büyüyecek ve sayfanın gövde boyutunu aşacaktır.
Bu davranışı önlemenin bir yolu var mı?
Başlangıçta yıl ızgaramın genişlik ve yükseklikte% 100 olduğunu ilan ettim, bu yüzden muhtemelen başlamam gereken nokta bu, ancak bu ihtiyaca uyan ızgarayla ilgili CSS özelliği bulamadım.
Sorumluluk Reddi: Bu takvimi CSS Izgara Düzeni kullanmadan şekillendirmenin oldukça kolay yolları olduğunun farkındayım. Ancak bu soru, somut örneği çözmekten çok konuyla ilgili genel bilgilerle ilgilidir.