CSS (Cascading Style Sheets) allows styling of HTML elements through properties like fonts, sizes, colors and more, and can be defined internally, inline, or externally in CSS files which are linked to HTML; CSS offers advantages over HTML for styling like easier maintenance and faster page loads; CSS rules are made up of selectors that target elements and declarations which set properties and values to style elements.