En règle générale si la couleur est un adjectif qualificatif, qui désigne donc la couleur d’une chose, elle s’accorde en genre et en nombre avec le nom auquel elle se rapporte, par exemple « des robes rouges », « des drapeaux blancs », « des océans bleus ».
Mais cela devient plus compliqué si la couleur est utilisée comme un nom, tout en étant pris adjectivement… Il se transforme alors en nom et devient au passage invariable. C’est le cas par exemple lorsque l’on écrit « des cheveux marron », « des draps orange », « un vase champagne », « des murs chocolat ». Dans ce cas-là on peut le remplacer par des cheveux de la couleur du marron, des draps de la couleur d’une orange, car marron et orange sont des fruits, champagne une boisson, et chocolat une friandise. Il existe d’autres nombreux noms représentés par des couleurs, notamment abricot, acajou, saphir, amande, ambre, etc.
Les couleurs sont également invariables et ne s’accordent donc pas quand elles sont composées avec un autre mot : l’on écrit donc « des yeux bleu vert », des jupes beige rose », « des branches jaune paille ».
Lorsqu’une couleur est exprimée avec deux de ses teintes l’on met un trait d’union entre les deux : bleu vert, rose-fuchsia, gris-noir, blanc-beige.