Se pretende que el marcado, es decir, las etiquetas HTML, represente el significado y la estructura, no la apariencia. Estaba mal mezclado en las primeras versiones de HTML, pero las personas estándar están tratando de limpiar eso ahora.
Un problema al permitir que las etiquetas controlen la apariencia es que sus páginas no funcionan bien con dispositivos para discapacitados, como lectores de pantalla. También conduce a tener muchas etiquetas en su texto que no ayudan a aclarar el significado, sino que lo saturan con información de un nivel diferente.
Por lo tanto, CSS fue pensado para mover el formato / visualización a un idioma diferente, que es independiente del texto y se puede mantener fácilmente de esa manera. Entre otras cosas, esto permite cambiar las hojas de estilo para cambiar la apariencia de una página web sin tocar el otro marcado. Y para poder hacer eso por muchas páginas en un tonto.
Las herramientas que CSS le brinda para hacer esto no siempre son elegantes, estoy de su lado allí. Por ejemplo, no hay forma de hacer un centrado vertical efectivo. Y el centrado horizontal, si no se trata solo de texto text-align
, no es mucho mejor.
Tiene la opción de hacerlo de manera fácil, efectiva y confusa o limpia, elegante y engorrosa. No entiendo por qué los desarrolladores web soportan este desastre, pero creo que están contentos de tener al menos la oportunidad de hacer sus cosas.