10 HTML table-related tags

10 HTML table-related tags
In fact many people will say “I’ve seen that tables should never be used”, but this is absolutely wrong! This advice is only for using HTML tables to define the layout of your web page, but tables are perfect for conveniently arranging rows and columns of information, and if you absolutely must display tabular data on a page, you have to use them! why not? However, in this case, some people ignore the existence of certain HTML tags for tables and don’t know how to use them correctly.

HTML has 10 table-related tags. Here is a list with a brief introduction, but first, the document should be properly defined in HTML 4.01/XHTML 1 or HTML 5:

  • <caption> defines the table title (4, 5)
  • <col> defines attributes for table columns (4, 5)
  • <colgroup> defines the grouping of table columns (4, 5)
  • <table> defines a table (4, 5)
  • <tbody> defines the table body (4, 5)
  • <td> defines a cell (4, 5)
  • <tfoot> defines the footer of the table (4, 5)
  • <th> defines the table header (4, 5)
  • <thead> defines the table header (4, 5)
  • <tr> defines the rows of the table (4, 5)

A basic table structure is as follows:

Re-understanding table

It contains a title, header, body, and footer. The correct order of HTML elements is:

  1. <table>
  2. <caption>
  3. <thead>
  4. <tfoot>
  5. <tbody>

You can also use <col> and <colgroup> to define table columns or group columns:

  1. <table>
  2. <caption>
  3. <colgroup>
  4. <col>
  5. <thead>
  6. <tfoot>
  7. <tbody>

The following is an example of a correct table structure:

Copy code
The code is as follows:

<table border="1">
<caption>Table caption here</caption>
<colgroup span="1" style="background:#DEDEDE;"/>
<colgroup span="2" style="background:#EFEFEF;"/>
<!-- Table Header-->
<thead>
<tr>
<th>Head 1</th>
<th>Head 2</th>
<th>Head 3</th>
</tr>
</thead>
<!-- Table Footer-->
<tfoot>
<tr>
<td>Foot 1</td>
<td>Foot 2</td>
<td>Foot 3</td>
</tr>
</tfoot>
<!-- Table Body-->
<tbody>
<tr>
<td>A</td>
<td>B</td>
<td>C</td>
</tr>
<tr>
<td>D</td>
<td>E</td>
<td>F</td>
</tr>
</tbody>
</table>

The result in the browser is shown below:
Re-understanding table

Some tips about tables

  • According to the explanation and usage of w3schools, in a table definition, the <tfoot> element must appear before the <tbody> so that the browser can render the table footer before receiving all the data. Additionally, if it is not in this order, it will fail W3C HTML4 and XHTML validation, no matter which DTD you declare.
  • In HTML 4.01, the table attributes align and bgcolor were deprecated, so there are no longer any table attributes supported in HTML 5 (in fact, the "align" and "bgcolor" attributes are no longer supported in XHTML 1.0 Strict DTD);
  • All major browsers support the <colgroup> tag, but Firefox, Chrome, and Safari only support the span and width attributes of the colgroup element;
  • empty-cells:show|hide in CSS can set whether empty cells display borders. Note that this needs to be set in the table rather than in the td/th element . This problem is more likely to occur in IE6;
  • border-collapse:collapse | separate in CSS can set whether the borders of the table are merged into one border;
  • The border-spacing property in CSS is equivalent to the cellspacing property of table.

In order to achieve the currently advocated development model of separation of presentation and structure, Front-end Observation recommends that all presentation-related things on the page be controlled by CSS, instead of using HTML's own attributes to control the presentation of the page. Tables are the most easily overlooked ones.

For more details about tables, see the W3C document: w3 Introduction to tables

Finally, I leave you with a very simple question. Which CSS property is equivalent to the cellpadding property of the table?

<<:  Detailed explanation of mixed inheritance in Vue

>>:  How to invert the implementation of a Bezier curve in CSS

Recommend

Java uses Apache.POI to export HSSFWorkbook to Excel

Use HSSFWorkbook in Apache.POI to export to Excel...

How to understand the difference between computed and watch in Vue

Table of contents Overview computed watch monitor...

Network management and network isolation implementation of Docker containers

1. Docker network management 1. Docker container ...

Summary of common problems and application skills in MySQL

Preface In the daily development or maintenance o...

Repair solution for inconsistent MySQL GTID master and slave

Table of contents Solution 1: Rebuild Replicas Pr...

Native JS to implement real-time clock

Share a real-time clock effect implemented with n...

SQL group by to remove duplicates and sort by other fields

need: Merge identical items of one field and sort...

Box-shadow and drop-shadow to achieve irregular projection example code

When we want to add a shadow to a rectangle or ot...

Correct modification steps for Docker's default network segment

background A colleague is working on his security...

How to modify the default encoding of mysql in Linux

During the development process, if garbled charac...

A detailed discussion of MySQL deadlock and logs

Recently, several data anomalies have occurred in...

Vue implements multiple ideas for theme switching

Table of contents Dynamically change themes The f...

3 codes for automatic refresh of web pages

In fact, it is very simple to achieve this effect,...