TL; DR: क्या table-layout: fixed
सीएसएस ग्रिड के लिए ऐसा कुछ है ?
मैंने महीनों के लिए एक बड़ी 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% होने की घोषणा की थी, इसलिए शायद शुरू करने की बात है, लेकिन मुझे ग्रिड से संबंधित कोई भी सीएसएस गुण नहीं मिला जो उस जरूरत को पूरा करता।
अस्वीकरण: मुझे पता है कि सीएसएस ग्रिड लेआउट का उपयोग किए बिना उस कैलेंडर को स्टाइल करने के लिए बहुत आसान तरीके हैं। हालाँकि, यह प्रश्न ठोस उदाहरण को हल करने की तुलना में विषय पर सामान्य ज्ञान के बारे में अधिक है।