CSS (Cascading Style Sheets) allows separation of document content from document presentation by defining styles like fonts, colors, spacing in external .css files or internal <style> tags. CSS selectors target HTML elements by name, id, class, or attribute to style them. Styles can be defined externally, internally, or inline. When multiple conflicting styles apply, the cascade order gives precedence to inline styles, then internal and external styles, and lastly browser defaults.