Il puntoevirgola indica "fine istruzione" in molti tipi di linguaggi di programmazione, scripting e, come d'esempio, CSS.

Nel caso specifico della sintassi dei fogli di stile, il puntoevirgola è obbligatorio metterlo per separare due coppie proprietà-valore consecutive. Nel caso dell'ultima coppia il suo utilizzo è facoltativo, ma in entrambi i casi si è nel giusto (sintatticamente parlando).

Facendo qualche esempio:
codice:
p {
   color:#000; /* Obbligatorio */
   background-color:#fff /* Indifferente metterlo o meno */
}

p { color:#000 /* Indifferente metterlo o meno */ }
Io - a meno che la coppia sia unica, come nel secondo esempio - tendo sempre a lasciare il puntoevirgola: ciò mi libera dal controllare ogni volta la coppia precedente in caso di aggiunte.