Back to the index.
CSS2 selectors | CSS3 selectors | CSS3 UI selectors | CSS4 selectors
Here are almost all CSS2 and 3 selectors, and the CSS3 UI selectors (mostly structural pseudo-classes).
This is the mobile table. See also the desktop table.
Last major update on 1 October 2013.
I'm writing a CSS book.
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
			
			p
		 | 
		Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
			
			p.test
		 | 
		Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
			
			p#test
		 | 
		Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
			
			p span
		 | 
		Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects all elements | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Two or more class names | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Selects an element that is a child of another element | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element that is a next sibling of another element | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Selects an element that is a general next sibling of another element | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Selects an element with a certain attribute | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element with a certain attribute value | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element with an attribute that includes a certain value; space-separated | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element with a certain attribute that starts with a certain value | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element with a certain attribute that ends with a certain value | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selects an element with a certain attribute that contains a certain value; not necessarily space-separated | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Attribute value starts with "value" or "value-" | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| To generate content before and after an element | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| The first letter of an element | Almost | Almost | Almost | Yes | Almost | Almost | Yes | Almost | Almost | Yes | Yes | |||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| The first line of an element | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Text selected by the user. | No | Samsung | Yes | No | Yes | Yes | No | Yes | Untest | 
		ut | Yes | ut | Yes | ut | ut | Yes | ut | -moz- | ||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| An element in an active state. | No | No | No | Yes | No | Yes | Yes | No | No | No | Alter | 
		No | No | Yes | Yes | |||||||||||||
| 
		 Styles should be applied ontouchstart and removed ontouchend. To be honest, I don't see a lot of use for this selector on touchscreen devices. 
  | 
	||||||||||||||||||||||||||||
| An element in a hovered state. | Special | Yes | Yes | Spe | 
		Yes | Desktop | Yes | Yes | Yes | Yes | Desk | 
		Yes | ||||||||||||||||
| 
		 Normally the   | 
	||||||||||||||||||||||||||||
| Unvisited link | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Negation of a selector | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
			
			Element that is a target of a hash (page.html#testHash)
		 | 
		Yes | Yes | Yes | Yes | Yes | Yes | Yes | Incom | 
		Yes | |||||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Visited link | Yes | se | Yes | Yes | Incom | 
		se | Yes | Yes | Yes | se | Yes | Yes | Yes | No | Yes | |||||||||||||
| 
		 There’s a security issue with  
  | 
	||||||||||||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Empty elements | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| 
		 | 
	||||||||||||||||||||||||||||
| An element that is the first child of its parent | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| 
		 | 
	||||||||||||||||||||||||||||
| The first element of its type. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| 
		 | 
	||||||||||||||||||||||||||||
| An element that is the last child of its parent | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| The last element of its type. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| 
		 | 
	||||||||||||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Select elements according to a formula | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||
| Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||||||||
| Select elements according to a formula | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| An element that is the only child of its parent | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| The only element of its type. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| The root element, or initial containing block. | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
See also the CSS3 User Interface spec.
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Checked elements (checkboxes or radios) | Yes | No | Yes | No | Yes | No | No | Yes | No | Yes | No | Yes | No | Yes | No | |||||||||||||
| Default choices in select boxes or groups of radio buttons | No | No | No | No | Incom | 
		No | No | No | No | No | No | |||||||||||||||||
| 
		 Tested on radio buttons and select boxes. 
  | 
	||||||||||||||||||||||||||||
| Disabled form fields | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Non-disabled form fields | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||||||||||
| Form fields that have the keyboard focus | Yes | Yes | Yes | No | Yes | Yes | No | Yes | No | Yes | Yes | Yes | ||||||||||||||||
| 
		 Sidenote: Sony Android 4 shows the label text in focused form fields. I think this is an excellent idea that deserves to be copied.  | 
	||||||||||||||||||||||||||||
| Form fields with values that are in range (numbers) | Yes | No | Yes | Yes | No | Yes | No | Yes | No | Yes | Yes | No | Yes | |||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
			
			Form field with value that does not conform to pattern
		 | 
		Yes | No | Yes | Yes | Buggy | Yes | Yes | No | Yes | No | Yes | Yes | No | Yes | Yes | |||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
| Non-required form fields | Yes | Yes | Yes | Buggy | Yes | Yes | Yes | Yes | No | Yes | Yes | |||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Form fields with values that are not in range (numbers) | Yes | No | Yes | Yes | No | Yes | No | Yes | No | Yes | Yes | No | Yes | |||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
| Readonly form fields | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | ||||||||||||||||||
| Non-readonly form fields | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | ||||||||||||||||||
| Required form fields | Yes | Yes | Yes | Buggy | Yes | Yes | Yes | Yes | No | Yes | Yes | |||||||||||||||||
		
  | 
	||||||||||||||||||||||||||||
			
			Form field with value that conforms to pattern
		 | 
		Yes | No | Yes | Yes | Buggy | Yes | Yes | No | Yes | No | Yes | Yes | No | Yes | Yes | |||||||||||||
		
		
  | 
	||||||||||||||||||||||||||||
| Selector | iOS | Android | Chrome | Opera | Black | 
		Nokia | UC | Nin | 
		Dol | 
		Tizen | One | IE | Firefox | |||||||||||||||
| 6 | 7 | 2 | 3 | 4 | 18 | 29 | Mini | Mob 12 | Mob 15 | 6 | 7 | PB | 10 | Xpress | Mee | 
		Anna | Belle | 8 | 9 | 9 | 10 | OS | And | |||||
Mobile browser test array 1.1.1; October 2013
Browsers by WebKit version: