Last major update on 18 June 2009.
This series of compatibility tests is sponsored by Vodafone.
My CSS tests, but now on mobile phones.
If you want the latest inside scoops on my mobile tests, follow me on Twitter.
See also the general remarks on the main table.
Can’t really test SEK770i because it doesn’t provide visual feedback in the table below; I can’t see which link I’m clicking, and some links turn out to be unclickable.
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
Selects all elements | Yes | Yes | Yes | Yes | Yes | Yes | To be tested | |||||||||||||||||
Selects an element that is a child of another element | Yes | Yes | Yes | Yes | Yes | Yes | To be tested | |||||||||||||||||
Selects an element that is a next sibling of another element | Yes | Static | Yes | Static | Yes | Static | Yes | Buggy | Static | To be tested | ||||||||||||||
|
||||||||||||||||||||||||
Selects an element with a certain attribute | Yes | Yes | Yes | Yes | Yes | Incor |
To be tested | |||||||||||||||||
|
||||||||||||||||||||||||
Whether an element can support two or more class names | Yes | Yes | Yes | Yes | Yes | Yes | To be tested | |||||||||||||||||
To generate content before and after an element | Yes | Yes | Incom |
Incom |
No | Yes | To be tested | |||||||||||||||||
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
An element in a hovered (mouseover) or active (mousedown) state. | Yes | Focus | Untest |
No | Yes | Focus | No | Focus | Yes | No | Incom |
No | No | Buggy | To be tested | |||||||||
The :hover pseudo-class really only makes sense when a mouse cursor is present, as it is on S60v3. :active supported by: Vodafone WM, Opera 8.65 SE, S60v3 WebKit, Iris (only while touching the screen), Ozone.
|
||||||||||||||||||||||||
An element that is the first child of its parent | Yes | Static | Yes | Static | Yes | Static | Yes | No | Static | To be tested | ||||||||||||||
|
||||||||||||||||||||||||
Form fields that receive user focus | Yes | Almost | Minimal | No | Yes | Buggy | No | Yes | Buggy | Yes | No | No | Yes | To be tested | ||||||||||
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
Selects an element that is a general next sibling of another element | Yes | No | Yes | No | Yes | No | Yes | No | Yes | To be tested | ||||||||||||||
Selects an element with an attribute whose value starts with, ends with, or contains a certain string. | Yes | No | To be tested | Yes | Yes | No | Yes | No | Yes | To be tested | ||||||||||||||
The first line or first letter of an element | Almost | Yes | Almost | No | No | No | Yes | To be tested | ||||||||||||||||
|
||||||||||||||||||||||||
Negation of a selector | Yes | No | Yes | Yes | No | Yes | Yes | Yes | To be tested | |||||||||||||||
The root element, or initial containing block. | Yes | No | Yes | Yes | No | Yes | No | Yes | To be tested | |||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
Element that is a target of a hash (page.html#testHash )
direct link to hash
|
Incom |
No | Incom |
Yes | Incom |
Yes | Incom |
No | No | No | Yes | To be tested | ||||||||||||
|
||||||||||||||||||||||||
For enabled, disabled, or checked form fields. | Yes | No | not :checked | No | Almost | Yes | not :checked | Yes | Almost | Yes | No | Incom |
No | Yes | To be tested | |||||||||
|
||||||||||||||||||||||||
Empty elements | Yes | Static | No | Yes | Static | Incom |
Yes | No | Yes | No | Static | To be tested | ||||||||||||
<div> .
|
||||||||||||||||||||||||
An element that is the last child of its parent | Yes | Static | No | Yes | Buggy | No | Static | Yes | No | Static | No | Static | To be tested | |||||||||||
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
An element that is the only child of its parent | Yes | Static | No | Yes | Static | No | Yes | No | Static | No | Static | To be tested | ||||||||||||
|
||||||||||||||||||||||||
Select elements according to a formula | Incor |
No | Yes | No | Yes | Incor |
No | Yes | No | No | To be tested | |||||||||||||
|
||||||||||||||||||||||||
Select elements according to a formula | Incor |
No | Yes | No | Yes | No | Yes | No | No | To be tested | ||||||||||||||
|
||||||||||||||||||||||||
Allows you to define blocks of styles that only take effect on certain monitor sizes. | Yes | No | Static | No | Yes | No | No | No | No | To be tested | ||||||||||||||
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
Yes | Scroll | Buggy | Yes | Untest |
Yes | Incom |
Scroll | Incom |
Scroll | Yes | Yes | Scroll | No | Incom |
To be tested | |||||||||
position: fixed as position: absolute .
|
||||||||||||||||||||||||
Yes | Incom |
Incor |
Yes | Incor |
Incom |
Yes | Incom |
Yes | Incom |
Almost | Incom |
Incom |
to be tested | Yes | to be tested | |||||||||
|
||||||||||||||||||||||||
Yes | Yes | Yes | Yes | Incom |
Incom |
to be tested | ||||||||||||||||||
Compatibility depends only on the values block, inline, none, inline-block, list-item, and the table values.
|
||||||||||||||||||||||||
Types, image, position | Yes | Almost | Almost | Yes | Incom |
Yes | Almost | Yes | Incom |
Yes | to be tested | |||||||||||||
Compatibility depends on circle, decimal, decimal-leading-zero, disc, lower-alpha, lower-greek, lower-latin, lower-roman, none, square, upper-alpha, upper-latin and upper-roman.
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG | ||||
Yes | Incom |
Yes | Incom |
Yes | Incom |
Yes | Yes | Yes | No | Yes | to be tested | |||||||||||||
|
||||||||||||||||||||||||
How to define more than one background image on an element | No | Yes | No | No | No | No | to be tested | |||||||||||||||||
Yes | No | -webkit- | Buggy | -webkit- | No | No | to be tested | -moz- | to be tested | |||||||||||||||
On several WebKits (among others G2 and Ozone) the box model itself seems to be implemented wrongly or buggily. Retesting is necessary.
|
||||||||||||||||||||||||
Yes | Buggy | No | Yes | No | Yes | No | Buggy | Yes | No | No | No | Yes | to be tested | |||||||||||
|
||||||||||||||||||||||||
Create a text-shadow. | Yes | Buggy | No | Incom |
No | Yes | No | Yes | No | Incom |
No | No | No | No | No | to be tested | ||||||||
|
||||||||||||||||||||||||
Selector | Opera Mobile | Opera Mini 4.2 | S60v3 WebKit | S60v5 WebKit | Default WebKits | Non-default WebKits | NetFront | Blackberry | IE Mobile | Skyfire | Obigo | |||||||||||||
(VF WM) Nokia E66 | (9.5) HTC Touch Diamond | (8.65) SE P1i | (8.00) Motorola V3xx | Nokia E71 | Nokia E66 | Nokia E71 | Samsung i560 | Nokia 5800 | iPhone | Android G1 | Android G2 | Bolt (E71) | Iris (HTC) | Ozone (E71) | Samsung F700 | Sony Ericsson C510 | Blackberry 9500 | HTC Touch Diamond | Nokia E71 | LG |