C'est la variante HTML recommandée par le W3C. C'est un HTML minimal, épuré de nombreuses possibilités de mise en forme des versions antérieures, la présentation étant gérée par des feuilles de style. En HTML strict la balise <body> ne doit contenir que des éléments de bloc. Son usage est à privilégier pour la rédaction de nouvelles page Web.
Cette variante permet l'utilisation des nombreux attributs de mises en forme des versions antérieures. La balise <body> peut contenir du texte ou tout type de balise (bloc ou incorporée). Le HTML transitional est sourtout destiné à permettre la validation de pages existantes écrites dans des versions antérieures de HTML.
Les attributs et éléments présents dans la variante transitional mais absent dans la version strict sont en cours d'abandon. Le détail des balises et attributs en cours d'abandon .
Est utilisé pour les page définissant des jeux de cadres permettant d'afficher plusieurs pages dans une même fenêtre. L'utilisation des cadres bien que présentant des avantage n'est pas recommandée car elle rend le référencement problématique.
Le XHTML est la mise en conformité du HTML au normes XML. Quelques règles supplémentaires d'ordre général s'ajoutent aux règles propres au HTML. ( voir du HTML au XHTML )
Un fichier HTML doit respecter un certain nombre de règles de syntaxe : la validité des noms d'éléments, d'attribut, quels attributs pour quels éléments, quels éléments peuvent être imbriqués dans chaque balise, respect des règles d'imbrication.
Ces règles sont définit par une DTD (Data Type Definition) qui n'est autre qu'une grammaire du langage. Chaque variante du HTML possède sa propre DTD.
En vue de valider un fichier HTML, il est nécessaire de préciser la DTD (strict, transitional ou frameset) ainsi que le jeu de caratères utilisé.
La référence à la DTD se positionne en tout début de fichier avant la balise <html>.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/dtD/xhtml1-strict.dtd">
Le jeu de carcrtère est donnée par une balise méta dans l'entête (<head>) :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<head>
<title>Les couleurs </title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
Validation en ligne :