Selectors
Group of Selectors
elementname-1, elementname-2
h1, p
Basic selectors
| Name | Pattern | Example | |
|---|---|---|---|
| Universal selector | * |
* |
|
| Type selector | E |
p |
|
| Class selector | E.classname .classname |
p.odd odd |
|
| ID selector | E#idname #idname |
p#first-paragraph #first-paragraph |
|
| Attribute selector | E[attr] |
p[lang] |
contain attribute |
| Attribute selector | [attr] |
[lang] |
contain attribute |
| Attribute selector | [attr=value] |
[lang="pt-BR"] |
value is exactly value |
| Attribute selector | [attr~=value] |
[class~="odd"] |
value is a whitespace-separated list of words, one of which is exactly value |
| Attribute selector | [attr|=value] |
[lang|="BR"] |
value can be exactly value or can begin with value immediately followed by a hyphen |
| Attribute selector | [attr^=value] |
[lang^="pt"] |
value value is prefixed (preceded) by value |
| Attribute selector | [attr$=value] |
[lang$="BR"] |
value is suffixed (followed) by value |
| Attribute selector | [attr*=value] |
[class*="odd"] |
value contains at least one occurrence of value within the string |
Combinators
| Name | Pattern | Example |
|---|---|---|
| Adjacent sibling combinator | A + B |
h1 + p |
| General sibling combinator | A ~ B |
h1 ~ p |
| Child combinator | A > B |
ul > li |
| Descendant combinator | A B |
ul li |
Pseudo-classes
| Name | Pattern | Example |
|---|---|---|
| active pseudo-class | :active |
a:active |
| checked pseudo-class | :checked |
input:checked |
| focus pseudo-class | :focus |
input:focus |
| first-child pseudo-class | :first-child |
ul > li:first-child |
| hover pseudo-class | :hover |
a:hover |
| last-child pseudo-class | :last-child |
ul > li:last-child |
| link pseudo-class | :link |
a:link |
| nth-child pseudo-class | :nth-child |
ul > li:nth-child(2) |
| nth-of-type pseudo-class | :nth-of-type |
body > p:nth-of-type(1) |
| visited pseudo-class | :visited |
a:visited |
Pseudo-elements
| Name | Pattern | Example |
|---|---|---|
| after pseudo-element | ::after |
p::after |
| before pseudo-element | ::before |
p::before |
| first-letter pseudo-element | ::first-letter |
p::first-letter |
| first-line pseudo-element | ::first-line |
p::first-line |
| selection pseudo-element | ::selection |
p::selection |
Fonte: Selectors Level 3 | W3C