El lenguaje de marcado de hipertexto extensible (XHTML) y las hojas de estilo en cascada (CSS) son ambos lenguajes de programación de computadoras que se usan comúnmente en el desarrollo web. Los dos lenguajes tienen diferentes propósitos y son complementarios entre sí, con XHTML definiendo la estructura y contenido de una página web y CSS proporcionando estilo. Cada uno tiene un conjunto diferente de reglas de programación. XHTML y CSS juntos pueden hacer que los sitios web sean más eficientes y accesibles.
XHTML y CSS son dos tecnologías comunes para la creación de sitios web y, a menudo, se usan juntas. El primero es generalmente responsable del contenido y la estructura de una página web, mientras que el segundo se utiliza para alterar el estilo y la presentación de la página. Un párrafo, por ejemplo, se define como un párrafo que utiliza XHTML, pero la fuente, el color y el tamaño del texto de un párrafo se definen con CSS. Otra diferencia entre XHTML y CSS es que un documento XHTML se puede utilizar por sí solo, mientras que un archivo CSS por sí solo no hace nada.
Desde el punto de vista de la programación, ambas tecnologías tienen estilos diferentes, aunque la mayoría de las herramientas de desarrollo web pueden crear tanto XHTML como CSS. XHTML es un lenguaje de marcado, un tipo de lenguaje de programación en el que las palabras o letras se «marcan» con símbolos especiales para crear «etiquetas». Una etiqueta en XHTML define varios elementos de una página web y hace referencia a contenido externo. A
etiqueta, por ejemplo, define un bloque de texto como un párrafo, mientras que la etiqueta hace referencia a un archivo de imagen externo para su inclusión en la página. El predecesor de XHTML, HyperText Markup Language (HTML), también contenía etiquetas que definían elementos de estilo como la fuente y el color del texto, pero estos fueron eliminados en XHTML.
Desarrollado para proporcionar a los autores web un método más eficiente de agregar estilo a sus páginas, CSS se puede aplicar a archivos HTML o XHTML. Es un lenguaje de hoja de estilo que le dice a un navegador web u otro software cómo presentar una página web u otro documento a un usuario. CSS utiliza selectores, que pueden ser etiquetas HTML o XHTML, así como tipos de contenido personalizados, y declaraciones, que declaran el estilo aplicado al selector anterior. El código CSS se puede colocar dentro de un archivo XHTML o en un archivo separado que se puede reutilizar entre muchas páginas del sitio.
Una combinación de XHTML y CSS es, en muchos sentidos, superior a los métodos de desarrollo web más antiguos. Anteriormente, muchas etiquetas HTML destinadas a transmitir estructura terminaban siendo utilizadas con fines de diseño y estilo. Bajo el enfoque más reciente, XHTML y CSS tienen roles claramente definidos. CSS también puede aumentar la accesibilidad de un sitio web porque se pueden aplicar diferentes archivos CSS al mismo código XHTML para transformar la apariencia de una página o sitio. Los desarrolladores web también pueden cambiar el aspecto de una página sin cambiar el código subyacente, y los motores de búsqueda pueden indexar páginas web sin tener que clasificar etiquetas de estilo irrelevantes.