CSS allows styling and layout of HTML documents. CSS rules are made up of selectors and declarations. CSS can be used to control text styling, colors, spacing, positioning and layout of elements. The box model in CSS treats each element as a box and defines properties for padding, borders, margins and content. CSS can be applied internally using <style> tags or externally using link tags to reference CSS files.