CSS (Cascading Style Sheets) is used to describe the presentation and formatting of HTML elements on web pages. CSS allows separation of document structure (HTML) from presentation (CSS), and can control layout, colors, fonts and other aspects of visual presentation. There are three main ways to attach CSS styles to HTML - external stylesheets, internal stylesheets, and inline styles. CSS rules consist of selectors that specify the element(s) targeted and a declaration block that contains properties to style the element.