TL; DR: Чи є щось подібне table-layout: fixed
до сіток CSS?
Я спробував створити календар з переглядом на рік з великою сіткою 4х3 на місяці, і в ній вкладено сітки 7х6.
Календар повинен заповнювати сторінку, тому контейнер з сіткою року отримує ширину та висоту 100% кожен.
.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);
}
Ось робочий приклад: https://codepen.io/loilo/full/ryXLpO/
Для простоти, кожен місяць у цій ручці є 31 день і починається в понеділок.
Я також обрав смішно невеликий розмір шрифту, щоб продемонструвати проблему:
Елементи сітки (= клітинки дня) досить стислі, оскільки на сторінці їх є кілька сотень. І як тільки мітки денних номерів стануть занадто великими (сміливо пограйте з розміром шрифту в ручці за допомогою кнопок в лівій верхній частині) сітка просто збільшиться в розмірі і перевищить розмір тіла сторінки.
Чи є спосіб запобігти такій поведінці?
Спочатку я оголосив, що сітка року на 100% шириною та висотою, тому, мабуть, із цього слід почати, але я не змогла знайти жодних властивостей CSS, пов’язаних із сіткою, які б відповідали цій потребі.
Відмова: Я знаю, що існують досить прості способи стилю цього календаря без використання CSS Grid Layout. Однак це питання скоріше стосується загальних знань з теми, ніж вирішення конкретного прикладу.