* everything. can be used as a child selector. use rarely, if ever. | # target by id. | . target by class | X target by type. eg, p, span, etc. | X Y target descendants, recursively | X + Y targets the Y immediately after the X. | X > Y target direct descendants. | X ~ Y sibling. less strict than +. if Y comes after an X, style it. | X[a] selects all X's with attribute a. | X[a = "val"] selects all X's whose a is val. | X[a *= "val"] selects all X's whose a has a value that contains val. | x[a^="val"] selects all X's whose a starts with val. | X[a$="val"] selects all X's whose a ends with val. | X[data-*="foo"] selects all X's that have an attribute specified by star, eg, | . X[data-filetype="foo"] | X[data-info~="image"] treats data-info as a space separated list, and asks if image is one of the items. | X:link a link that hasn't been visited | X:visited a link that's been visited | X:checked a checked UI element | X:after eg, for clearfix hack. | X:hover hover over an element | X:not(selector) everything except the selector | X::pseudoElement style a pseudo element. must be block ! | X:nth-child(n) | X:nth-last-child(n) | X:nth-of-type(n) | X:nth-last-of-type(n) | X:first-child | X:last-child | X:only-child | X:only-of-type | X:first-of-type |