Dentro de un documento XHTML se puede indicar que un texto tenga un estilo o tipografía especial. Hay dos tipos de estilos: lógicos y físicos. Con estilos lógicos se formatea el texto de acuerdo con su significado, mientras que las de estilo físico indican la apariencia específica. Por ejemplo, en la anterior frase las palabras "estilos lógicos" fue marcado como una "definición'.' El mismo efecto (enfatizar esas palabras con cursivas), podría haber sido alcanzado utilizando otra etiqueta que indica "pon esas palabras en cursivas".
Si un estilo físico y lógico producen el mismo resultado ¿Cuál utilizo? En un documento XHTML, el contenido está separado de la presentación. De ese modo las etiquetas que indican un nivel uno de encabezamiento son interpretadas como un nivel uno de encabezamiento, pero no especifica cómo es ese encabezamiento. Por ejemplo, letra tipo Times, negrita, de tamaño 24 puntos, centrado en la parte superior de la página. La ventaja es que el usuario decide la presentación de la cabecera en el dispositivo de presentación (el visualizador World Wide Web)
Además, las etiquetas lógicas refuerzan la consistencia del documento. Es más sencillo marcar algo como <h1>...</h1> que recordar que eso significa "letra tipo Times, negrita, de tamaño 24 puntos".
<stdio.h>
)Los estilos físicos deben considerarse un resto del pasado, ya que actualmente se prefiere combinar utilizar CSS (Cascade Style Sheets, u hojas de estilo en cascada) para especificar o alterar el formato del contenido de una página HTML. La combinación HTML+CSS refuerza la separación entre contenidos y presentación de los mismos que ha perseguido siempre HTML, ya que elimina por completo la necesidad de utilizar las etiqueta de estilos físicos. Sin embargo, las siguientes etiquetas siguen presentes en la definición de HTML, sobre todo por razones de compatibilidad: