Fully Responsive Table Only Using HTML CSS

Fully Responsive Table Only Using HTML CSS



<!DOCTYPE html>

<html lang="en">

    <head>

        <meta charset="UTF-8">

        <meta name="viewport" content="width=device-width, initial-scale=1.0">

        <title>Document</title>

        

        <style>

        *{

        margin:0;

        padding: 0;

        box-sizing: border-box;

        }

        .main{

        width: 100%;

        min-height:100vh;

        padding: 0px 20px;

        align-content: center;

        justify-content: center;

        display: flex;

        }

        .main-table{

        width:900px;

        min-height:600px;

        background:#fe5c0b;

        align-content: center;

        justify-content: center;

        display: flex;

        }

        tr{

        margin: 10px;

        }

        td:nth-btn(1){

        width: 100%;

        background:#fff;

        border-radius:10px;

        padding-right: 20px;

        height:10px;

        color:#000;

        }

        table {

        max-width:800px;

        background:#fe5c0b;

        border-collapse: collapse;

        margin: 0;

        padding: 0;

        width: 100%;

        table-layout: fixed;

        border-collapse:separate;

        border-spacing:0 15px;

        }

        table caption {

        font-size: 1.5em;

        margin: .5em 0 .75em;

        }

        table tr {

        color: white;

        padding: .35em;

        margin-top:20px;

        }

        table th,

        table td {

        padding: .625em;

        text-align: center;

        }

        tr{

        margin-top:4px;

        }

        tr:nth-child(1){

        background:transparent;

        }

        td{

        font-size: 14px;

        }

        td:nth-child(1){

        border-radius:20px;

        color: black;

        padding: 0.5em;

        padding-right: 1em;

        }

        .school-name-field{

        padding: 10px 20px;

        border-radius:20px;

        color: black;

        background:#fff;

        font-size: 14px;

        }

        td:nth-child(2){

        background:#fff;

        color: black;

        border-top-left-radius:20px;

        border-bottom-left-radius: 20px;

        } td:nth-child(3){

        background:#fff;

        color: black;

        }

        td:nth-child(4){

        background:#fff;

        color: black;

        border-top-right-radius:20px;

        border-bottom-right-radius: 20px;

        }

        table th {

        font-size: .85em;

        letter-spacing: .1em;

        text-transform: uppercase;

        }

        @media screen and (max-width:768px) {

        table {

        border: 0;

        }

        tr{

        background: #fff;

        

        }

        .school-name-field{

        padding: 10px 20px;

        border-radius:20px;

        color: black;

        background:transparent;

        font-size: 14px;

        }

        tr:nth-child(1){

        background:#fff;

        }

        table caption {

        font-size: 1.3em;

        }

        table thead {

        border: none;

        clip: rect(0 0 0 0);

        height: 1px;

        margin: -1px;

        overflow: hidden;

        padding: 0;

        position: absolute;

        width: 1px;

        }

        table tr {

        display: block;

        margin-bottom: .625em;

        }

        table td {

        background-color: #ffffff;

        color: #000;

        border-bottom: 1px solid #ddd;

        display: block;

        font-size: .8em;

        text-align: right;

        }

        table td::before {

        /*

        * aria-label has no advantage, it won't be read inside a table

        content: attr(aria-label);

        */

        content: attr(data-label);

        float: left;

        font-weight: bold;

        text-transform: uppercase;

        }

        table td:last-child {

        border-bottom: 0;

        }

        }

        /* general styling */

        body {

        font-family: "Open Sans", sans-serif;

        line-height: 1.25;

        }

        </style>

    </head>

    <body>

        <div class="main">

            <div class="main-table">

                <br>

                <div>

                    <table>

                        

                        <thead>

                            <tr>

                                <th scope="col"><img src="badge.png" alt="" style="width:40px;height:40px;border-radius: 50%;"> School Name</th>

                                <th scope="col">All India Ranking</th>

                                <th scope="col">ATotal Questions </th>

                                <th scope="col">Avg Questions Answered</th>

                            </tr>

                        </thead>

                        <tbody>

                            <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered"><span class="school-data-field">800</span></td>

                            </tr>

                            <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered"><span class="school-data-field">800</span></td>

                            </tr>

                            <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>


                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                             <tr>

                                <td data-label="School Name"><span class="school-name-field">New english school</span></td>

                                <td data-label="All India Ranking"><span>11</span></td>

                                <td data-label="Total Questions "><span>458</span></td>

                                <td data-label="Avg Questions Answered" class="school-data-field"><span>800</span></td>

                            </tr>

                         </tbody>

                    </table>

                </div>

            </div>

        </div>

    </body>

</html>