Hola, el punto y coma no es obligatorio cuando aplicamos estilo solo a una propiedad.
Por ejemplo, a este párrafo le ponemos fondo rojo "tomate"
<p style="background-color:tomato">Ejemplo de parrafo.</p>
No necesita el punto y coma.
En cambio, si además queremos poner el color de texto en blanco:
<p style="background-color:tomato color:white">Ejemplo de parrafo.</p>
Esa línea NO va a funcionar, porque estamos alterando dos propiedades sin separarlas con punto y coma, entonces el navegador no sabe donde comienza una indicación y donde termina la otra.
Esa es la función del punto y coma, separar las instrucciones unas de otras:
<p style="background-color:tomato; color:white">Ejemplo de parrafo.</p>
Sobre el espacio en blanco, son irrelevantes, el navegador los ignora. Puedes no ponerlo, poner uno, poner veinte...., no importan.
Va a funcionar igual:
<p style="background-color: tomato; color:white">Ejemplo de parrafo.</p>
Lo del espacio en blanco queda a gusto del programador. Poner un espacio en blanco puede ser útil para que sea más legible a simple vista, para que la propiedad que alteramos quede separada del valor que le asignamos.
Habitualmente estaremos usando algún editor de texto que resalte la sintaxis con colores, así que ya resultará legible de por sí.
Pero nunca sabemos si en algún momento vamos a tener que editar un código HTML con un editor más simple, tipo Bloc de Notas.
En ese caso, se agradece un montón si el código HTML utiliza espacios en blanco e indentaciones, que son cosas que al navegador le da igual y las ignora, pero para el ojo humano supone la diferencia entre un elegante texto legible y un horror de instrucciones apelotonadas.