HTML define la estructura de un documento HTML. Sin embargo, en sus inicios, una práctica común era agregar atributos dentro de las etiquetas HTML para proveer estilos que mejoraban la presentación (aspectos visuales y estéticos) como por ejemplo, el color de la fuente de las páginas Web. A medida que el lenguaje HTML evolucionó, la escritura de códigos se volvió más compleja y HTML por sí mismo no pudo más satisfacer las demandas de diseñadores [1].
Cambiar estos aspectos visuales dependía en gran medida de las posibilidades que ofrecía el navegador. Los cambios visuales eran soportados por algunos navegadores y no soportados por otros. Cada navegador empezó a implementar su propia estrategia de incluir estos aspectos visuales en el documento HTML. Estas estrategias eran diferentes entre ellas.
A este respecto, en 1995, la W3C decidió estandarizar la forma de expresar los aspectos visuales para los documentos HTML, creando la primera versión de CSS.