We can define styles for tables using CSS. The following properties are often used to style <table> and its elements −
- border
The CSS border property is used to define border-width, border-style and border-color.
- border-collapse
This property is used to specify whether a <table> elements should have a shared or separate border.
- caption
The caption-side property is used to vertically position the table caption box.
- empty-cells
This property is used to specify the display of empty cells of a table.
- table-layout
To define the algorithm to be used by the browser for laying out rows, columns and cells of a table.
Example
The following examples illustrate styling of tables −
<!DOCTYPE html> <html> <head> <style> table, table * { border: thin solid; padding: 5px; font-style: italic; } caption { caption-side: bottom; } td { box-shadow: inset 0 0 6px green; } </style> </head> <body> <table> <caption>Demo caption</caption> <tr> <td>demo</td> </tr> <tr> <td>demo</td> <td></td> </tr> <tr> <td>demo</td> <td>demo</td> <td></td> </tr> </table> </body> </html>
Output
This gives the following output −
Example
<!DOCTYPE html> <html> <head> <style> div { display: flex; float: left; } table { border: 3px solid black; } td { border: 3px solid lightgreen; } th { border: 3px solid lightblue; } #t2 { border-collapse: collapse; } </style> </head> <body> <h2>Team Rankings</h2> <div> <table id="t1"> <tr> <th>Team (Test)</th> <th>Rank </th> </tr> <tr> <td>India </td> <td>1 </td> </tr> <tr> <td>Australia</td> <td>2</td> </tr> </table> </div> <div> <table id="t2"> <tr> <th>Team (ODI) </th> <th>Rank </th> </tr> <tr> <td>India </td> <td>1 </td> </tr> <tr> <td>England</td> <td>2</td> </tr> </table> </div> </body> </html>
Output
This gives the following output −