La sintassi dei CSS è completamente diversa rispetto a quella di HTML; infatti, anziché basarsi sul concetto di marcatura, i CSS si basano sul concetto di regola. Ogni regola nel CSS è costituita da 3 elementi:
selettore {proprietà : valore;}
I selettori si riferiscono all'elemento HTML di cui si vuole definire lo stile della regola. Ad esempio se voglio modificare lo stile con cui vengono visualizzati i paragrafi <p> nell'HTML, imposterò p come selettore.
Le proprietà riguardano cosa rispetto al selettore deve essere modificato. Nell'esempio precedente, se ciò che voglio modificare del selettore p è la dimensione, imposterò come proprietà font-size.
I valori infine stabiliscono come la proprietà deve essere impostata o modificata, e le relative unità di misura. Se ad esempio vogliamo che la dimensione del nostro selettore p sia di 12 pixel, p {font-size: 12px;}.
Oltre ai normali marcatori HTML (come <p>), i CSS permettono di specificare delle regole anche per altri due tipi di selettori: le classi e gli id. Questi attributi vengono aggiunti nell'HTML ai tag, per identificarli, quindi vengono definiti nelle loro caratteristiche nel CSS.
Le classi vengono rappresentate all'interno del codice CSS attraverso l'uso del carattere "punto" associato al nome della classe, ad esempio:
nell' HTML <div class="indirizzo"> e nel CSS definiremo la regola per il selettore .indirizzo
Gli id, identificatori univoci, vengono rappresentati dal carattere "cancelletto" associato al nome identificativo.
Nell' HTML <div id="header"> e nel CSS definiremo la regola per il selettore #header
La differenza tra queste due famiglie di selettori stà nel fatto che gli id, come suggerisce il nome, si possono riferire ad un solo elemento nel documento; le classi invece si possono riferire a più elementi all'interno dello stesso documento.
Infine le pseudoclassi sono degli stati che alcuni selettori possono assumere. Esse rappresentano una tipologia particolare, infatti non vengono applicate "a priori", ma solo in determinate condizioni di interazione. L'uso più frequente delle pseudoclassi riguarda i collegamenti ipertestuali.