Important Tags (1)
Semantic Tags
These are tags whose names indicate a meaning regarding their content. It is recommended to use them as much as possible.
Page Structuring Tags
<nav>
(only the top-level navigation)<main>
(only one per page)<header>
There can be several per page, notably one per<body>
, one per<section>
, and one per<article>
<footer>
same as above<section>
Contains a section of the page, a<section>
can be inside another<section>
...<article>
Contains, for example, a blog post or a comment<aside>
Dedicated to a part completely independent of the page content<p>
For paragraphs<blockquote>
Used for quoting another source
<html>
<main class="box-vue">
<header>
<h1>The page header</h1>
</header>
<section>
<header>
<h2>Section title</h2>
</header>
<article>
<header>
<h2>Article title</h2>
</header>
<p>
A paragraph of the article
</p>
<footer>
The article footer
</footer>
</article>
<footer>
The section footer
</footer>
</section>
<footer>The page footer</footer>
</main>
</html>
All these tags have a default display of type block (see CSS): this means that if no style is added to the element or its parent, there will be a line break before and after each of them.
Heading Tags
The heading tags <h1>
to <h6>
allow structuring headings from level 1 to 6 respectively.
There should be only one h1
tag per page!
List Tags
There are several types of lists:
<ol>
and its<li>
for an ordered list (ordered list and list item)<ul>
and its<li>
for an unordered list (unordered list and list item)<dl>
with its<dt>
and its<dd>
for a definition list (definition list, definition term and definition description)
<html>
<ol class="box-vue">
<li>The first in the list</li>
<li>The second</li>
</ol>
<ul class="box-vue">
<li>The first in the list</li>
```All these tags have a default display of type *block* (see [CSS](/css/)): this means that if no style is added to the element or its parent, there will be a line break before and after each of them.
### Heading Tags
The heading tags `<h1>` to `<h6>` allow structuring headings from level 1 to 6 respectively.
There should be only one `h1` tag per page!
### List Tags
There are several types of lists:
- `<ol>` and its `<li>` for an ordered list (**o**rdered **l**ist and **l**ist **i**tem)
- `<ul>` and its `<li>` for an unordered list (**u**nordered **l**ist and **l**ist **i**tem)
- `<dl>` with its `<dt>` and its `<dd>` for a definition list (**d**efinition **l**ist, **d**efinition **t**erm and **d**efinition **d**escription)
::: code-group
```html
<html>
<ol class="box-vue">
<li>The first in the list</li>
<li>The second</li>
</ol>
<ul class="box-vue">
<li>The first in the list</li>
<li>The second</li>
</ul>
<dl class="box-vue">
<dt>Term</li>
<dd>A first definition of the term</dd>
<dd>A second definition of the term</dd>
<dt>Another term</li>
<dd>A first definition of the other term</dd>
<dd>A second definition of the other term</dd>
</dl>
</html>
Tables
The <table>
tag is used to create tables. Inside, the <thead>
tag will contain one or more rows with the table headers (the column titles). Then comes <tbody>
and optionally the <tfoot>
tag.
Each row is marked by a <tr>
tag (table row), and each row contains one or more <th>
(table header cell) and/or <td>
(table data cell).
The <table>
tag should be used to display tabular data, and never for layout purposes.
<html>
<table>
<thead>
<tr>
<th>
Column 1 Title
</th>
<th>
Column 2 Title
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
Row 1 Column 1 Value
</td>
<td>
Row 1 Column 2 Value
</td>
</tr>
<tr>
<td>
Row 2 Column 1 Value
</td>
<td>
Row 2 Column 2 Value
</td>
<td>
</tr>
</tbody>
</table>
</html>