टेबल टॅगशिवाय CSS वापरून Div Tag वरून टेबल्स स्क्रोल कसे बनवायचे

टेबलचे प्रतिनिधित्व करण्यासाठी 'डिस्प्ले' गुणधर्म कसे वापरायचे?

खालील सारणी तुम्हाला समान घटकाचे प्रतिनिधित्व करण्यासाठी ' टेबल ' टॅग आणि संबंधित समर्थित CSS गुणधर्म यांच्यातील संबंध देते . त्यामुळे, टेबल तयार करताना, तुम्हाला फक्त HTML ' टेबल ' टॅगऐवजी फक्त ' div ' टॅग वापरणे आणि टेबल दाखवण्यासाठी संबंधित CSS जोडणे आवश्यक आहे.

<टेबल> {डिस्प्ले:टेबल}
<tr> {प्रदर्शन: टेबल-पंक्ती}
<thead> {प्रदर्शन: टेबल-हेडर-ग्रुप}
<tbody> {प्रदर्शन: टेबल-पंक्ती-समूह}
<tfoot> {प्रदर्शन: टेबल-फूटर-ग्रुप}
<col> {प्रदर्शन: टेबल-स्तंभ}
<colgroup> {प्रदर्शन: टेबल-स्तंभ-समूह}
<td>, <th> {प्रदर्शन: टेबल-सेल}
<मथळा> {प्रदर्शन: टेबल-मथळा}

पायरी 1: टेबलसाठी मास्टर डिव्ह तयार करा

HTML

<div class="d-tbl"></div>

CSS

.d-tbl {
    width: 100%;
    display: table;
    border-collapse: collapse;
}

पायरी 3: टेबल मथळा, शीर्षलेख, मुख्य भाग, तळटीप तयार करा

HTML

<div class="d-tbl">
    <div class="d-tbl-head"></div>
    <div class="d-tbl-body">/div>
    <div class="d-tbl-foot"></div>
</div>

CSS

.d-tbl-caption{
    display: table-caption;
    text-align: center;
    font-weight: bold;
}
.d-tbl-head,
.d-tbl-foot {
    display: table-header-group;
    background-color: white;
}
.d-tbl-body {
    display: table-row-group;
}

पायरी 3: टेबल पंक्ती, सेल, हेड-सेल, फूट-सेल तयार करा

HTML

<div class="d-tbl">
    <div class="d-tbl-head">
        <div class="d-tbl-row">
            <div class="d-tbl-cell d-tbl-head-cell">Header 1</div>
            <div class="d-tbl-cell d-tbl-head-cell">Header 2</div>
            <div class="d-tbl-cell d-tbl-head-cell">Header 3</div>
            <div class="d-tbl-cell d-tbl-head-cell">Header 4</div>
        </div>
    </div>
    <div class="d-tbl-body">
        <div class="d-tbl-row">
            <div class="d-tbl-cell">Column 1</div>
            <div class="d-tbl-cell">Column 2</div>
            <div class="d-tbl-cell">Column 3</div>
            <div class="d-tbl-cell">Column 4</div>
        </div>
    </div>
    <div class="d-tbl-foot">
        <div class="d-tbl-row">
            <div class="d-tbl-cell d-tbl-head-foot">Footer 1</div>
            <div class="d-tbl-cell d-tbl-head-foot">Footer 2</div>
            <div class="d-tbl-cell d-tbl-head-foot">Footer 3</div>
            <div class="d-tbl-cell d-tbl-head-foot">Footer 4</div>
        </div>
    </div>
</div>

CSS

.d-tbl-row {
    display: table-row;
}
.d-tbl-cell {
    display: table-cell;
    padding: 5px;
    border: 1px solid #dee2e6;
}
.d-tbl-head-cell,
.d-tbl-foot-cell {
    font-weight: bold;
}

परिणाम

css div ते टेबल

पायरी 4: टेबलवर स्क्रोल बार जोडा

HTML

<div class="p_fix_table">
    <div class="d-tbl">
        <div class="d-tbl-head" id="d-tbl-fix-head"></div>
        <div class="d-tbl-body" id="d-tbl-fix-body" onscroll="tblFixScroll('d-tbl-fix-head', 'd-tbl-fix-body')"></div>
    </div>
</div>

CSS

.p_fix_table {
    width: 100%;
    max-height: 250px;
    overflow: hidden;
}
.p_fix_table .d-tbl {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    width: 100%;
    max-height: 250px;
    border: 1px solid #dee2e6;
    border-collapse: collapse;
    overflow: hidden;
}
.p_fix_table .d-tbl-head {
    flex: 1 0 auto;
    display: block;
    overflow-x: hidden;
    overflow-y: scroll;
    scrollbar-base-color: #dee2e6;
    scrollbar-face-color: #dee2e6;
    scrollbar-highlight-color: #dee2e6;
    scrollbar-track-color: #dee2e6;
    scrollbar-arrow-color: #dee2e6;
    scrollbar-shadow-color: #dee2e6;
}
.p_fix_table .d-tbl-head::-webkit-scrollbar {
    display: block;
    background-color: transparent;
}
.p_fix_table .d-tbl-head::-webkit-scrollbar-track {
    background-color: transparent;
}
.p_fix_table .d-tbl-body {
    display: block;
    overflow: scroll;
    max-height: 220px;
}
.p_fix_table .d-tbl-body:nth-child(3) {
    display: none;
}
.p_fix_table .d-tbl-cell,
.p_fix_table .d-tbl-head-cell {
    width: 170px;
    min-width: 170px;
    padding: 5px;
    border: 1px solid #dee2e6;
}
.p_fix_table .d-tbl-row .d-tbl-cell:first-child,
.p_fix_table .d-tbl-row .d-tbl-head-cell:first-child {
    position: sticky;
    left:0;
    background: white;
    z-index: 1;
}

जे.एस

function tblFixScroll(thead_id, tbody_id) {
    let thead = document.getElementById(thead_id);
    let tbodyScroll = document.getElementById(tbody_id).scrollLeft;
    thead.scrollLeft = tbodyScroll;
    //document.getElementById("frozen").scrollLeft = 0;
}
Demo
<html lang="en">

<head>
    <meta charset="utf-8">
    <title>Table Fixed Header</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
        <div class="row">
            <div class="col-md-12">
                <div class="p_fix_table">
                    <div class="d-tbl">
                        <div class="d-tbl-head" id="d-tbl-fix-head">
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 1
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 2
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 3
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 4
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 5
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 1
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 2
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 3
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 4
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 5
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 1
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 2
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 3
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 4
                                </div>
                                <div class="d-tbl-cell d-tbl-head-cell">
                                    Header 5
                                </div>
                            </div>
                        </div>
                        <div class="d-tbl-body" id="d-tbl-fix-body" onscroll="tblFixScroll('d-tbl-fix-head', 'd-tbl-fix-body')">
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                            <div class="d-tbl-row">
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–1
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–2
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–3
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–4
                                </div>
                                <div class="d-tbl-cell">
                                    Column 1–5
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <style type="text/css">
                    .d-tbl {
                        width: 100%;
                        display: table;
                        border-collapse: collapse;
                    }
                    .d-tbl-caption{
                        display: table-caption;
                        text-align: center;
                        font-weight: bold;
                    }
                    .d-tbl-head,
                    .d-tbl-foot {
                        display: table-header-group;
                        background-color: white;
                    }
                    .d-tbl-body {
                        display: table-row-group;
                    }
                    .d-tbl-row {
                        display: table-row;
                    }
                    .d-tbl-cell {
                        display: table-cell;
                        padding: 5px;
                        border: 1px solid #dee2e6;
                    }
                    .d-tbl-head-cell,
                    .d-tbl-foot-cell {
                        font-weight: bold;
                    }

                    /* table scroll */
                    .p_fix_table {
                        width: 100%;
                        max-height: 250px;
                        overflow: hidden;
                    }
                    .p_fix_table .d-tbl {
                        display: flex;
                        flex-direction: column;
                        flex: 1 1 auto;
                        width: 100%;
                        max-height: 250px;
                        border: 1px solid #dee2e6;
                        border-collapse: collapse;
                        overflow: hidden;
                    }
                    .p_fix_table .d-tbl-head {
                        flex: 1 0 auto;
                        display: block;
                        overflow-x: hidden;
                        overflow-y: scroll;
                        scrollbar-base-color: #dee2e6;
                        scrollbar-face-color: #dee2e6;
                        scrollbar-highlight-color: #dee2e6;
                        scrollbar-track-color: #dee2e6;
                        scrollbar-arrow-color: #dee2e6;
                        scrollbar-shadow-color: #dee2e6;
                    }
                    .p_fix_table .d-tbl-head::-webkit-scrollbar {
                        display: block;
                        background-color: transparent;
                    }
                    .p_fix_table .d-tbl-head::-webkit-scrollbar-track {
                        background-color: transparent;
                    }
                    .p_fix_table .d-tbl-body {
                        display: block;
                        overflow: scroll;
                        max-height: 220px;
                    }
                    .p_fix_table .d-tbl-body:nth-child(3) {
                        display: none;
                    }
                    .p_fix_table .d-tbl-cell,
                    .p_fix_table .d-tbl-head-cell {
                        width: 170px;
                        min-width: 170px;
                        padding: 5px;
                        border: 1px solid #dee2e6;
                    }
                    .p_fix_table .d-tbl-row .d-tbl-cell:first-child,
                    .p_fix_table .d-tbl-row .d-tbl-head-cell:first-child {
                        position: sticky;
                        left:0;
                        background: white;
                        z-index: 1;
                    }
                    /* End: table scroll */
                </style>

                <script>
                    function tblFixScroll(thead_id, tbody_id) {
                        let thead = document.getElementById(thead_id);
                        let tbodyScroll = document.getElementById(tbody_id).scrollLeft;
                        thead.scrollLeft = tbodyScroll;
                        //document.getElementById("frozen").scrollLeft = 0;
                    }
                </script>
            </div>
        </div>
    </div>
</body>

</html>