CSS Table
CSS Table
CSS offers powerful methods for customizing the appearance of HTML tables. CSS allows you to create well-structured and visually appealing tables to display organized data. Below is an in-depth guide to styling HTML tables with CSS, including various customization techniques with example.
What is a CSS Table?
In web development, an HTML table organizes data into rows and columns using the <table>
, <tr>
(table row), <th>
(table header), and <td>
(table data) elements. CSS enables the customization of table elements, improving their visual appeal and user experience across devices.
Key CSS Properties for Tables
1. Table Layout
The table-layout
property controls the table's layout.
auto
(default): The table automatically resizes columns to fit the content within them.fixed
: Columns can be set to equal widths or customized based on specific values.
table { table-layout: fixed; width: 100%; }
2. Border
Borders enhance table structure visibility. Use border
to style table edges.
table, th, td { border: 1px solid black; border-collapse: collapse; /* Prevent double borders */ }
3. Padding and Spacing
- Padding: Adds space inside cells.
- Spacing: Adjusts space between cells.
th, td { padding: 10px; text-align: center; /* Centers content */ }
4. Background and Colors
Background colors can improve readability.
th { background-color: #f2f2f2; color: #333; } tr:nth-child(even) { background-color: #f9f9f9; }
5. Hover Effects
Adding hover effects enhances interactivity.
tr:hover { background-color: #e0e0e0; }
CSS Table Example
Below is a complete example showcasing a well-styled table:
HTML
<table> <thead> <tr> <th>Product</th> <th>Price</th> <th>Quantity</th> </tr> </thead> <tbody> <tr> <td>Apple</td> <td>$1</td> <td>50</td> </tr> <tr> <td>Banana</td> <td>$0.5</td> <td>100</td> </tr> <tr> <td>Orange</td> <td>$0.8</td> <td>75</td> </tr> </tbody> </table>
CSS
table { width: 80%; margin: 20px auto; border-collapse: collapse; font-family: Arial, sans-serif; } th, td { border: 1px solid #ddd; padding: 12px; } th { background-color: #4CAF50; color: white; } tr:nth-child(even) { background-color: #f2f2f2; } tr:hover { background-color: #ddd; } td { text-align: center; }
Responsive Tables
To create responsive tables, wrap them in a container with the overflow
property.
.table-container { overflow-x: auto; } table { width: 100%; border-collapse: collapse; }
HTML Example:
<div class="table-container"> <table> <!-- Table content here --> </table> </div>
Conclusion
CSS enhances the presentation of tabular data, improving readability and design. Utilizing properties like border
, padding
, background-color
,ensures visually appealing and responsive tables.