Search code examples
htmlcsshtml-tablehidepseudo-class

CSS for hiding multiple columns in a table


I have a table similar to the one illustrated below in a SharePoint site. I cannot modify the table as it is generated dynamically but I can add external CSS to override its style. I am required to show only second column and hide first, third and fourth column.

The pseudo class to hide first column is

table#student tr td:first-child { display: none; }

Please help me with pseudo class or any other trick to hide third and forth column.

<table id="student">
    <tr>
        <td>Role</td>
        <td>Merin</td>
        <td>Nakarmi</td>
        <td>30</td>
    <tr>
        <td>Role</td>
        <td>Tchelen</td>
        <td>Lilian</td>
        <td>22</td>
    </tr>
    <tr>
        <td>Role</td>
        <td>Suraj</td>
        <td>Shrestha</td>
        <td>31</td>
    </tr>
</table>

Solution

  • CSS3:

    table#student td {
       display: none;
    }
    table#student td:nth-child(2) {
       display: block;
    }
    

    Use nth-child selector to un-hide the 2nd <td> of every row, effectively showing the 2nd column.