Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> CSS

CSS और HTML से मुख्य कंटेंट div को स्क्रीन ऊंचाई भरना

परिचय

मुख्य कंटेंट क्षेत्र को व्यूपोर्ट ऊंचाई भरने के लिए, हेडर/फूटर के बाद शेष स्थान लेना।

विधि 1: Absolute Positioning (पुराना लेकिन काम करता है)

.mainbody {
    position: absolute;
    top: 60px;       /* हेडर ऊंचाई */
    bottom: 40px;    /* फूटर ऊंचाई */
    left: 0;
    right: 0;
    width: 100%;
    overflow: auto;  /* कंटेंट अधिक होने पर स्क्रॉल */
}

/* HTML संरचना */
<header style="height: 60px; position: fixed; top: 0; width: 100%;">हेडर</header>
<main class="mainbody">मुख्य कंटेंट</main>
<footer style="height: 40px; position: fixed; bottom: 0; width: 100%;">फूटर</footer>

विधि 2: Flexbox (आधुनिक, अनुशंसित)

<style>
.page-container {
    display: flex;
    flex-direction: column;
    min-height: 100vh;  /* व्यूपोर्ट ऊंचाई */
}

header, footer {
    flex-shrink: 0;  /* सिकुड़ने न दें */
}

main {
    flex: 1;         /* शेष स्थान ले */
    overflow: auto;  /* आंतरिक स्क्रॉल */
}
</style>

<div class="page-container">
    <header>हेडर (ऊंचाई स्वचालित)</header>
    <main>मुख्य कंटेंट - फ्लेक्स से भरता है</main>
    <footer>फूटर (ऊंचाई स्वचालित)</footer>
</div>

विधि 3: CSS Grid

<style>
.page-grid {
    display: grid;
    grid-template-rows: auto 1fr auto;  /* हेडर, मुख्य, फूटर */
    min-height: 100vh;
}

main {
    overflow: auto;
}
</style>

<div class="page-grid">
    <header>हेडर</header>
    <main>मुख्य कंटेंट</main>
    <footer>फूटर</footer>
</div>

विधि 4: calc() के साथ

<style>
header { height: 60px; }
footer { height: 40px; }

main {
    height: calc(100vh - 100px);  /* 100vh - (हेडर + फूटर) */
    overflow: auto;
    box-sizing: border-box;
}
</style>

तुलना

विधिपक्षविपक्ष
Absoluteसभी ब्राउज़र्स, निश्चित हेडर/फूटरहेडर/फूटर ऊंचाई हार्डकोडेड, ओवरलैप जोखिम
Flexboxडायनामिक ऊंचाई, रिस्पॉन्सिव, आधुनिकIE10+ (प्रीफिक्स)
Gridसबसे साफ सिंटैक्स, 2D लेआउटIE सपोर्ट सीमित
calc()सरल, समझने में आसाननिश्चित ऊंचाई आवश्यक

सिफारिश

Flexbox सबसे अच्छा संतुलन प्रदान करता है: डायनामिक हेडर/फूटर ऊंचाई, उत्कृष्ट ब्राउज़र सपोर्ट, सरल कोड।

  1. CSS से एलिमेंट्स को ब्राउज़र विंडो की पूरी ऊंचाई तक कैसे स्ट्रेच करें? CSS से एलिमेंट्स को ब्राउज़र विंडो की पूरी ऊंचाई तक कैसे स्ट्रेच करें?

    CSS से एलिमेंट्स को ब्राउज़र विंडो की पूरी ऊंचाई तक स्ट्रेच करने के लिए, कोड निम्नानुसार है -उदाहरण<!DOCTYPE html> <html> <head> <title>Page Title</title> <style>    *{       box-sizing: border-box;    }    html, body {

  1. CSS से DIV को विंडो हाइट का 100% कैसे बनाएं? CSS से DIV को विंडो हाइट का 100% कैसे बनाएं?

    CSS हाइट प्रॉपर्टी हमें एलिमेंट की हाइट निर्दिष्ट करने में मदद करती है। सिंटैक्स CSS हाइट प्रॉपर्टी का सिंटैक्स निम्नानुसार है: Selector {    height: /*value*/ } उदाहरण 1 निम्न उदाहरण CSS हाइट प्रॉपर्टी को दर्शाते हैं। <!DOCTYPE html> <html>    <head>   &nb

  1. HTML और CSS का उपयोग करके साइडबार और मुख्य कंटेंट एरिया वाला पेज बनाना HTML और CSS का उपयोग करके साइडबार और मुख्य कंटेंट एरिया वाला पेज बनाना

    परिचय HTML और बॉडी का आकार 100% सेट करके, फ्लूइड साइडबार और मुख्य कंटेंट एरिया वाला एक वेबपेज बनाया जाता है। यह क्लासिक लेआउट पैटर्न डैशबोर्ड्स, एडमिन पैनल्स, और डॉक्यूमेंटेशन साइट्स के लिए आदर्श है। उदाहरण: टेबल-आधारित लेआउट <!DOCTYPE html> <html> <head> <style> html