TL; DR:table-layout: fixed
CSSグリッドのようなものはありますか?
私は、月を表す4x3の大きなグリッドと、日を表す7x6のグリッドがネストされた年表示のカレンダーを作成しようとしました。
カレンダーはページを埋める必要があるため、年グリッドコンテナーの幅と高さはそれぞれ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グリッドレイアウトを使用せずに、そのカレンダーのスタイルを設定する簡単な方法があることを知っています。ただし、この質問は、具体的な例を解くというよりは、トピックに関する一般的な知識に関するものです。