CSS defines how HTML elements are styled and laid out on a page. There are three main types of CSS: inline CSS using the style attribute, internal CSS using the <style> tag, and external CSS linking to a .css file. CSS selectors like id and class allow targeting specific elements by id or class name to style them. Common CSS properties control elements' color, font, size, positioning, and other visual aspects.