HTML <!DOCTYPE>
The HTML Document Type
All HTML documents must start with a <!DOCTYPE>
declaration.
The declaration is not an HTML tag. It is an "information" to the browser about what document type to expect.
In HTML5, the <!DOCTYPE>
declaration is simple:
<!DOCTYPE html>
In older documents (HTML 4 or XHTML), the declaration is more complicated because the declaration must refer to a DTD (Document Type Definition).
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
You can read more about document types in the <!DOCTYPE> reference.
Valid HTML Elements in Different DOCTYPES
Tag | HTML 5 | HTML 4 | XHTML |
---|---|---|---|
<a> | Yes | Yes | Yes |
<abbr> | Yes | Yes | Yes |
<acronym> | No | Yes | Yes |
<address> | Yes | Yes | Yes |
<applet> | No | Yes | No |
<area> | Yes | Yes | No |
<article> | Yes | No | No |
<aside> | Yes | No | No |
<audio> | Yes | No | No |
<b> | Yes | Yes | Yes |
<base> | Yes | Yes | Yes |
<basefont> | No | Yes | No |
<bdi> | Yes | No | No |
<bdo> | Yes | Yes | No |
<big> | No | Yes | Yes |
<blockquote> | Yes | Yes | Yes |
<body> | Yes | Yes | Yes |
<br> | Yes | Yes | Yes |
<button> | Yes | Yes | Yes |
<canvas> | Yes | No | No |
<caption> | Yes | Yes | Yes |
<center> | No | Yes | No |
<cite> | Yes | Yes | Yes |
<code> | Yes | Yes | Yes |
<col> | Yes | Yes | No |
<colgroup> | Yes | Yes | No |
<data> | Yes | No | No |
<datalist> | Yes | No | No |
<dd> | Yes | Yes | Yes |
<del> | Yes | Yes | No |
<details> | Yes | No | No |
<dfn> | Yes | Yes | Yes |
<dialog> | Yes | No | No |
<dir> | No | Yes | No |
<div> | Yes | Yes | Yes |
<dl> | Yes | Yes | Yes |
<dt> | Yes | Yes | Yes |
<em> | Yes | Yes | Yes |
<embed> | Yes | No | No |
<fieldset> | Yes | Yes | Yes |
<figcaption> | Yes | No | No |
<figure> | Yes | No | No |
<font> | No | Yes | No |
<footer> | Yes | No | No |
<form> | Yes | Yes | Yes |
<frame> | No | No | No |
<frameset> | No | Yes | No |
<h1> to <h6> | Yes | Yes | Yes |
<head> | Yes | Yes | Yes |
<header> | Yes | No | No |
<hr> | Yes | Yes | Yes |
<html> | Yes | Yes | Yes |
<i> | Yes | Yes | Yes |
<iframe> | Yes | Yes | No |
<img> | Yes | Yes | Yes |
<input> | Yes | Yes | Yes |
<ins> | Yes | Yes | No |
<kbd> | Yes | Yes | Yes |
<label> | Yes | Yes | Yes |
<legend> | Yes | Yes | Yes |
<li> | Yes | Yes | Yes |
<link> | Yes | Yes | Yes |
<main> | Yes | No | No |
<map> | Yes | Yes | No |
<mark> | Yes | No | No |
<meta> | Yes | Yes | Yes |
<meter> | Yes | No | No |
<nav> | Yes | No | No |
<noframes> | No | Yes | No |
<noscript> | Yes | Yes | Yes |
<object> | Yes | Yes | Yes |
<ol> | Yes | Yes | Yes |
<optgroup> | Yes | Yes | Yes |
<option> | Yes | Yes | Yes |
<output> | Yes | No | No |
<p> | Yes | Yes | Yes |
<param> | Yes | Yes | Yes |
<picture> | Yes | No | No |
<pre> | Yes | Yes | Yes |
<progress> | Yes | No | No |
<q> | Yes | Yes | Yes |
<rp> | Yes | No | No |
<rt> | Yes | No | No |
<ruby> | Yes | No | No |
<s> | Yes | Yes | No |
<samp> | Yes | Yes | Yes |
<script> | Yes | Yes | Yes |
<section> | Yes | No | No |
<select> | Yes | Yes | Yes |
<small> | Yes | Yes | Yes |
<source> | Yes | No | No |
<span> | Yes | Yes | Yes |
<strike> | No | Yes | No |
<strong> | Yes | Yes | Yes |
<style> | Yes | Yes | Yes |
<sub> | Yes | Yes | Yes |
<summary> | Yes | No | No |
<sup> | Yes | Yes | Yes |
<table> | Yes | Yes | Yes |
<tbody> | Yes | Yes | No |
<td> | Yes | Yes | Yes |
<template> | Yes | No | No |
<textarea> | Yes | Yes | Yes |
<tfoot> | Yes | Yes | No |
<th> | Yes | Yes | Yes |
<thead> | Yes | Yes | No |
<time> | Yes | No | No |
<title> | Yes | Yes | Yes |
<tr> | Yes | Yes | Yes |
<track> | Yes | No | No |
<tt> | No | Yes | Yes |
<u> | Yes | Yes | No |
<ul> | Yes | Yes | Yes |
<var> | Yes | Yes | Yes |
<video> | Yes | No | No |
<wbr> | Yes | No | No |