CSS (Cascading Style Sheets) allows formatting and styling to be added to HTML pages. CSS works with HTML by linking CSS files to HTML documents. HTML elements are then styled by CSS using IDs, classes, or element types. IDs uniquely identify single elements, while classes can style multiple similar elements. A CSS file defines styles for each ID, class, and element used in HTML pages. Styles include things like colors, fonts, borders, and positioning. This allows full control over a website's visual design and layout.