All Tutorials

Your One-Stop Destination for Learning and Growth

Hiding Table Columns with Responsive CSS: A Practical Guide

In web development, it's common to work with tables that contain more columns than needed for smaller screen sizes. In such cases, hiding table columns can improve the user experience and make your website more responsive. In this tutorial, we will learn how to hide table columns using responsive CSS.

Prerequisites

Before diving into the code, ensure you have a basic understanding of HTML and CSS. Additionally, familiarize yourself with media queries and the concept of responsive web design.

Table Structure

First, let's create a simple table structure in HTML:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Hidden Table Columns</title>
  <style>
    table { width: 100%; border-collapse: collapse; }
    th, td { text-align: left; padding: 8px; border: 1px solid black;}
  </style>
</head>
<body>
  <table id="myTable">
    <thead>
      <tr>
        <th>Column 1</th>
        <th>Column 2</th>
        <th>Column 3</th>
        <th>Column 4</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <td>Data 1.1</td>
        <td>Data 1.2</td>
        <td>Data 1.3</td>
        <td>Data 1.4</td>
      </tr>
      <!-- More data rows here -->
    </tbody>
  </table>
</body>
</html>

Hiding Columns with CSS

Now, we will hide the third column (Column 3) for screens smaller than 600 pixels using a media query.

@media screen and (max-width: 600px) {
  #myTable th:nth-child(3),
  #myTable td:nth-child(3) {
    display: none;
  }
}

In the CSS above, #myTable th:nth-child(3) and #myTable td:nth-child(3) select the third column header and cells, respectively. The media query determines that this style should only be applied when the screen width is less than or equal to 600 pixels.

Conclusion

With just a few lines of CSS and HTML code, we have successfully hidden a table column on smaller screens while maintaining the layout for larger screens. This responsive technique can be applied to various tables within your website, ensuring an optimal user experience across devices.

Published August, 2017