CSS (Cascading Style Sheets) is a rule-based language used to style HTML elements. It was proposed in 1994 to help solve styling problems in HTML 4. CSS2 became a recommendation in 1998, while CSS3 has been in development since 1998 with some parts still being worked on. CSS allows you to define styles that apply formatting properties like color, font, size, and layout to HTML elements. Styles can be applied via inline styles, internal style sheets within the <head> of a document, or external style sheets in a separate .css file linked via HTML. Common CSS selectors include element names, classes, and IDs to target specific elements for styling.