CSS (Cascading Style Sheets) is used to style and lay out HTML elements. CSS can be added to HTML elements in three ways: inline, internally, or externally via a separate CSS file. A CSS rule consists of a selector that points to the HTML element to style and a declaration block containing CSS properties and values to apply styles like color, font, size, and layout. Common CSS selectors target elements by ID, class, element type, or other attributes. CSS can control text, font, color, size, spacing, borders, and layout of HTML elements and entire web pages.