# Void Elements
Not all HTML tags are of the same structure. While most elements require an opening tag, a closing tag, and contents, some elements - known as void elements - only require an opening tag as they themselves do not contain any elements. This topic explains and demonstrates the proper usage of void elements in HTML
# Void elements
HTML 4.01/XHTML 1.0 Strict includes the following void elements:
area- clickable, defined area in an imagebase- specifies a base URL from which all links basebr- line breakcol- column in a table [deprecated]hr- horizontal rule (line)img- imageinput- field where users enter datalink- links an external resource to the documentmeta- provides information about the documentparam- defines parameters for plugins
HTML 5 standards include all non-deprecated tags from the previous list and
command- represents a command users can invoke [obsolete]keygen- facilitates public key generation for web certificates [deprecated]source- specifies media sources forpicture,audio, andvideoelements
The example below does not include void elements:
<div>
<a href="http://stackoverflow.com/">
<h3>Click here to visit <i>Stack Overflow!</i></h3>
</a>
<button onclick="alert('Hello!');">Say Hello!</button>
<p>My favorite language is <b>HTML</b>. Here are my others:</p>
<ol>
<li>CSS</li>
<li>JavaScript</li>
<li>PHP</li>
</ol>
</div>
Notice how every element has an opening tag, a closing tag, and text or other elements inside the opening and closing tags. Void tags however, are shown in the example below:
<img src="https://cdn.sstatic.net/Sites/stackoverflow/company/img/logos/so/so-icon.png" />
<br>
<hr>
<input type="number" placeholder="Enter your favorite number">
With the exception of the img tag, all of these void elements have only an opening tag. The img tag, unlike any other tag, has a self closing / before the greater than sign of the opening tag. It is best practice to have a space before the slash.
# Remarks
A void element cannot have any content but may have attributes. Void elements are self-closing, so they must not have a closing tag.
In HTML5 (opens new window), the following elements are void:
areabasebrcolembedhrimginputkeygenlinkmetaparamsourcetrackwbr