TL; DR: Có bất cứ điều gì giống như table-layout: fixed
lưới CSS không?
Tôi đã cố gắng tạo ra một lịch xem năm với lưới 4x3 lớn trong nhiều tháng và ở đó các lưới 7x6 lồng nhau cho các ngày.
Lịch nên điền vào trang, vì vậy, thùng chứa lưới năm có chiều rộng và chiều cao 100% mỗi trang.
.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);
}
Đây là một ví dụ hoạt động: https://codepen.io/loilo/full/ryXLpO/
Để đơn giản, mỗi tháng trong cây bút đó có 31 ngày và bắt đầu vào thứ Hai.
Tôi cũng chọn một cỡ chữ nhỏ lố bịch để thể hiện vấn đề:
Các mục lưới (= ô ngày) khá cô đọng vì có hàng trăm trong số chúng trên trang. Và ngay khi nhãn số ngày trở nên quá lớn (hãy thoải mái chơi với kích thước phông chữ trong bút bằng các nút ở phía trên bên trái), lưới sẽ chỉ tăng kích thước và vượt quá kích thước cơ thể của trang.
Có cách nào để ngăn chặn hành vi này?
Ban đầu, tôi đã tuyên bố lưới năm của mình là 100% về chiều rộng và chiều cao để có thể là điểm bắt đầu, nhưng tôi không thể tìm thấy bất kỳ thuộc tính CSS nào liên quan đến lưới có thể cần.
Tuyên bố miễn trừ trách nhiệm: Tôi biết rằng có nhiều cách khá dễ dàng để định kiểu lịch đó mà không cần sử dụng CSS Grid Layout. Tuy nhiên, câu hỏi này là về kiến thức chung về chủ đề hơn là giải quyết ví dụ cụ thể.