Hola,
interesante pregunta y a la vez difícil de contestar, si se quiere contestar bien, claro. Si me lees hasta el final entenderás porque ...
Hay carreras universitarias enteras dedicadas al diseño: gráfico, textil, industrial, interiores, etc.
Si nos encasillamos en una web entramos en el diseño gráfico y entonces tenemos mucho temas a tener en cuenta como:
- Diseñar la estructura de la información: si, hay asignaturas que explican cómo mostrar una cantidad inmensa de datos de forma estructurada sin volver loco al usuario.
- Diseñar la interacción con el usuario (interfaz): también hay que saber diseñar cómo el usuario accede a los diferentes tipos de contenido.
- Diseñar contenidos principales, laterales, especiales, títulos, subtítulos, destacados, etc.
Una vez tienes estos conceptos y apartados claros entonces puedes empezar a pensar en CSS.
Porqué todo este rollo ?
- Porque quizás sea interesante dotar a cada uno de estos grandes apartados de su propio "estilo" CSS dentro del estilo CSS general de toda la web.
- Porque CSS también se utiliza para dar cierto "formato" a la web con floats, grids, flex ...
Por ejemplo: Crear un estilo corporativo de la web y a cada apartado darle su seña "especial".
Y ahora sí, entrando en un enfoque más práctico del CSS hay que saber teoría del color:
https://es.wikipedia.org/wiki/Teor%C3%ADa_del_color
Saber los colores que contrastan, los que son complementarios, etc. De esta forma, una vez tienes claro el estilo principal de tu web puedes ir aplicando una serie de colores complementarios/contrastes para ir confeccionando cada apartado o sección.
Espero haberte ayudado.
Un saludo!