Pseudo-classes and pseudo-elements are keywords that start with a colon (:) or a double colon (::) and specify a special state or part of an element. For example, a:hover is a pseudo-class selector that matches links on mouse over, and p::first-letter is a pseudo-element selector that matches the first letter of every element.