Kaskadowe arkusze stylów (ang. Cascading Style Sheets, CSS) są językiem służącym do opisu sposobu renderowania stron WWW. CSS został opracowany w 1996 roku przez organizację W3C i jest przeznaczony do używania w połączeniu z HTML-em.

Arkusz CSS to lista dyrektyw opisujących w jaki sposób przeglądarka ma renderować tekst znajdujący się wewnątrz danego elementu HTML/XHTML/XML lub inna część składowa dokumentu opisywana przez dany element. Ustalać można w ten sposób kolor, rodzaj czcionki tekstu, marginesy, obramowania itp. a nawet pozycję danego elementu względem innych elementów lub całej strony. Wykorzystanie arkuszy stylów daje znacznie większe możliwości w zakresie pozycjonowania elementów na stronie niż sam HTML.

CSS można stosować zewnętrznie tj. w formie oddzielnych plików, które podpinamy pod stronę odpowiednim znacznikiem, tzn. - HTML lub <?xml-stylesheet type="text/css" href="arkusz.css"?> - XML. Można go również dołączać do samego kodu, zapisując go w nagłówku strony, lub stosować lokalnie przy każdym użyciu danego znacznika, jednak nie jest ani wygodne ani zalecane.

Nazwa "kaskadowy" wzięła się stąd, że istnieją pewne ściśle określone zasady wyboru sposobu wyświetlania danego elementu strony jeśli jest on zdefiniowany inaczej przez zewnętrzny arkusz, inaczej przez wewnętrzny kod w nagłówku i wreszcie inaczej lokalnie. Oddziaływanie stylów z arkuszy zewnętrznych może być modyfikowane przez style zdefiniowane w nagłówku dokumentu, to zaś może być modyfikowane przez bezpośrednie definicje w treści dokumentu. Pierwszeństwo mają zatem style zdefiniowane "bliżej" konkretnego elementu. Przeglądarka sprawdza więc najpierw, czy istnieją jakieś arkusze zewnętrzne i formatuje stronę zgodnie z definicjami w nim zawartymi. Następnie sprawdza, jakie opisy stylów zawarte są w nagłówku strony i modyfikuje wygląd zgodnie z nimi. Jako ostatnie sprawdza style w samym dokumencie i ponownie modyfikuje fizyczną postać strony. To oczywiście tylko model działania, ale pokazuje on, jak działa taka kaskada stylów. Między stylami z różnych źródeł nie muszą oczywiście pojawiać się żadne konflikty - wszystkie style uzupełnią się, tworząc jeden rozbudowany styl.

Oprócz możliwości bardzo dokładnego definiowania sposobu wyświetlania elementów strony WWW, wielką zaletą stylów CSS jest oddzielenie kontroli wyglądu strony od jej struktury logicznej, dzięki czemu kod HTML staje się znacznie prostszy. Poza tym poprzez stosowanie zewnętrznych arkuszy CSS możliwe jest modyfikowanie z ich pomocą wyglądu wielu stron, co nie tylko jest dużo bardziej praktyczne gdy chcemy zmodyfikować jakiś element na wszystkich podstronach serwisu, ale pozwala także ograniczyć zużycie transferu, gdyż taki arkusz pobierany jest tylko raz.