È previsto che il markup, ovvero i tag HTML, rappresenti significato e struttura, non aspetto. È stato mischiato male nelle prime versioni di HTML, ma gli standard che la gente sta cercando di ripulire ora.
Un problema che consente ai tag di controllare l'aspetto è che le tue pagine non funzionano bene con i dispositivi per portatori di handicap, come gli screen reader. Porta anche ad avere un sacco di tag nel tuo testo che non aiutano a chiarire il significato, ma piuttosto ingombrano con informazioni di livello diverso.
Quindi CSS è stato pensato per spostare la formattazione / visualizzazione in una lingua diversa, che è separata dal testo e può essere facilmente mantenuta in questo modo. Tra le altre cose, ciò consente di cambiare i fogli di stile per modificare l'aspetto di una pagina Web senza toccare l'altro markup. E per poterlo fare per molte pagine in un colpo solo.
Gli strumenti che CSS ti offre non sono sempre eleganti, sono dalla tua parte. Ad esempio, non è possibile eseguire un centraggio verticale efficace. E la centratura orizzontale, se non è solo testo text-align
, non è molto meglio.
Hai la scelta di fare facile, efficace e confuso o pulito, elegante e ingombrante. Non capisco perché gli sviluppatori Web tollerino questo casino, ma credo che siano felici di avere almeno la possibilità di fare le loro cose.