CSS (Cascading Style Sheets) allows defining how HTML elements are displayed. CSS uses selectors to apply styles to specific elements through properties and values. There are different ways to add CSS including internal, external, and inline stylesheets. Key CSS concepts include the box model, positioning, grouping, nesting selectors, and creating horizontal navigation bars.