| Selector | Level | WCSS | Supported |
|---|---|---|---|
| Adjacent Sibling selector | CSS 2 | No | Yes |
| Attribute and attribute selectors | CSS 2 | No | Yes |
| Attribute selectors with namespace | CSS 3 | No | Yes |
| Attribute start selector | CSS 3 | No | Yes |
| Attribute end selector | CSS 3 | No | Yes |
| Attribute contains selector | CSS 3 | No | Yes |
| Child selector | CSS 2 | No | Yes |
| Class selectors | CSS 1 | Yes | Yes |
| Descendant selectors | CSS 1 | Yes | Yes |
| ID selectors | CSS 1 | Yes | Yes |
| Universal Selector | CSS 2 | Yes | Yes |
| Type selectors | CSS 1 | Yes | Yes |
| Type selectors with namespace | CSS 3 | Yes | Yes |
| Negation pseudo-class :not() | CSS 3 | No | No |
| :active | CSS 1/2 | Optional | Yes |
| ::after, :after | CSS 2 | No | Yes |
| ::before, :before | CSS 2 | No | Yes |
| :checked | CSS 3 | No | Yes |
| :disabled | CSS 3 | No | Yes |
| :empty | CSS 3 | No | Yes |
| :enabled | CSS 3 | No | Yes |
| :first-child | CSS 2 | No | Yes |
| ::first-letter, :first-letter | CSS 1 | No | Yes |
| ::first-line, :first-line | CSS 1 | No | Yes |
| :first-of-type | CSS 3 | No | No |
| :focus | CSS 2 | Optional | Yes |
| :hover | CSS 2 | No | Yes |
| :lang() | CSS 2 | No | Yes |
| :link | CSS 1/2 | Optional | Yes |
| :last-child | CSS 3 | No | No |
| :last-of-type | CSS 3 | No | No |
| :nth-child() | CSS 3 | No | No |
| :nth-last-child() | CSS 3 | No | No |
| :nth-of-type() | CSS 3 | No | No |
| :nth-last-of-type() | CSS 3 | No | No |
| :only-child | CSS 3 | No | No |
| :only-of-type | CSS 3 | No | No |
| :root | CSS 3 | No | No |
| ::selection | CSS 3 | No | No |
| :target | CSS 3 | No | No |
| :visited | CSS 1/2 | Optional | Yes |
| Property | Level | WCSS | Supported |
|---|---|---|---|
| azimuth | CSS 2† | No | No |
| background | CSS 1 | Yes | Yes |
| background-attachment | CSS 1 | Yes | Yes |
| background-color | CSS 1 | Yes | Yes |
| background-image | CSS 1 | Yes | Yes |
| background-position | CSS 1 | Optional | Yes |
| background-repeat | CSS 1 | Yes | Yes |
| border | CSS 1 | Yes | Yes |
| border-bottom | CSS 1 | Yes | Yes |
| border-bottom-color | CSS 1 | Yes | Yes |
| border-bottom-style | CSS 1 | Yes | Yes |
| border-bottom-width | CSS 1 | Yes | Yes |
| border-collapse | CSS 2 | No | Yes |
| border-color | CSS 1 | Yes | Yes |
| border-left | CSS 1 | Yes | Yes |
| border-left-color | CSS 1 | Yes | Yes |
| border-left-style | CSS 1 | Yes | Yes |
| border-left-width | CSS 1 | Yes | Yes |
| border-right | CSS 1 | Yes | Yes |
| border-right-color | CSS 1 | Yes | Yes |
| border-right-style | CSS 1 | Yes | Yes |
| border-right-width | CSS 1 | Yes | Yes |
| border-spacing | CSS 2 | No | Yes |
| border-style | CSS 1 | Yes | Yes |
| border-top | CSS 1 | Yes | Yes |
| border-top-color | CSS 1 | Yes | Yes |
| border-top-style | CSS 1 | Yes | Yes |
| border-top-width | CSS 1 | Yes | Yes |
| border-width | CSS 1 | Yes | Yes |
| bottom | CSS 2 | No | Yes |
| box-sizing | CSS 3 | No | Yes |
| caption-side | CSS 2‡ | No | Yes |
| clear | CSS 1 | Yes | Yes |
| clip | CSS 2 | No | Yes |
| color | CSS 1 | Yes | Yes |
| content | CSS 2 | No | Yes |
| counter-increment | CSS 2 | No | Yes |
| counter-reset | CSS 2 | No | Yes |
| cue | CSS2†/3 | No | Yes |
| cue-after | CSS2†/3 | No | Yes |
| cue-before | CSS2†/3 | No | Yes |
| cursor | CSS 2 | No | Yes |
| direction | CSS 2 | No | Yes |
| display | CSS 1/2‡ | Partial | Yes |
| elevation | CSS 2† | No | No |
| empty-cells | CSS 2 | No | Yes |
| float | CSS 1 | Yes | Yes |
| font | CSS 1 | Yes | Yes |
| font-family | CSS 1 | Yes | Yes |
| font-size | CSS 1 | Yes | Yes |
| font-size-adjust | CSS 2† | No | No |
| font-stretch | CSS 2† | No | No |
| font-style | CSS 1 | Yes | Yes |
| font-variant | CSS 1 | Yes | Yes |
| font-weight | CSS 1 | Yes | Yes |
| height | CSS 1 | Yes | Yes |
| (-xv-)interpret-as | CSS 3 | No | Yes |
| left | CSS 2 | No | Yes |
| letter-spacing | CSS 1 | No | Yes |
| line-height | CSS 1 | No | Yes |
| list-style | CSS 1/2‡ | Partial | Partial |
| list-style-image | CSS 1 | Yes | Yes |
| list-style-position | CSS 1 | Yes | Yes |
| list-style-type | CSS 1/2‡ | Partial | Partial |
| margin | CSS 1 | Optional | Yes |
| margin-bottom | CSS 1 | Yes | Yes |
| margin-left | CSS 1 | Yes | Yes |
| margin-right | CSS 1 | Yes | Yes |
| margin-top | CSS 1 | Yes | Yes |
| marker-offset | CSS 2† | No | No |
| marks | CSS 2† | No | No |
| max-height | CSS 2 | No | Yes |
| max-width | CSS 2 | No | Yes |
| min-height | CSS 2 | No | Yes |
| min-width | CSS 2 | No | Yes |
| opacity | CSS 3 | No | Yes |
| orphans | CSS 2 | No | Yes |
| outline | CSS 2 | No | Yes |
| outline-color | CSS 2 | No | Yes |
| outline-style | CSS 2 | No | Yes |
| outline-width | CSS 2 | No | Yes |
| overflow | CSS 2 | No | Yes |
| padding | CSS 1 | Optional | Yes |
| padding-bottom | CSS 1 | Yes | Yes |
| padding-left | CSS 1 | Yes | Yes |
| padding-right | CSS 1 | Yes | Yes |
| padding-top | CSS 1 | Yes | Yes |
| page | CSS 2† | No | No |
| page-break-after | CSS 2 | No | Yes |
| page-break-before | CSS 2 | No | Yes |
| page-break-inside | CSS 2 | No | Yes |
| pause | CSS 2†/3 | No | Yes |
| pause-after | CSS 2†/3 | No | Yes |
| pause-before | CSS 2†/3 | No | Yes |
| (-xv-)phonemes | CSS 3 | No | Yes |
| pitch | CSS 2† | No | No |
| pitch-range | CSS 2† | No | No |
| play-during | CSS 2† | No | No |
| position | CSS 2 | No | Yes |
| quotes | CSS 2 | No | Yes |
| richness | CSS 2† | No | No |
| right | CSS 2 | No | Yes |
| size | CSS 2 | No | Yes |
| speak | CSS 2†/3 | No | Yes |
| speak-header | CSS 2† | No | No |
| speak-numeral | CSS 2† | No | No |
| speak-punctuation | CSS 2† | No | No |
| speech-rate | CSS 2† | No | No |
| stress | CSS 2† | No | No |
| table-layout | CSS 2 | No | Yes |
| text-align | CSS 1/2‡ | Yes* | Yes |
| text-decoration | CSS 1 | Optional* | Yes |
| text-indent | CSS 1 | Yes | Yes |
| text-shadow | CSS 2† | No | No |
| text-transform | CSS 1 | Yes | Yes |
| top | CSS 2 | No | Yes |
| unicode-bidi | CSS 2 | No | Yes |
| vertical-align | CSS 1 | Yes | Yes |
| visibility | CSS 2 | Yes* | Yes |
| (-xv-)voice-balance | CSS 3 | No | Yes |
| (-xv-)voice-duration | CSS 3 | No | Yes |
| voice-family | CSS 2†/3 | No | Yes |
| (-xv-)voice-pitch | CSS 3 | No | Yes |
| (-xv-)voice-pitch-range | CSS 3 | No | Yes |
| (-xv-)voice-rate | CSS 3 | No | Yes |
| (-xv-)voice-stress | CSS 3 | No | Yes |
| (-xv-)voice-volume | CSS 3 | No | Yes |
| volume | CSS 2† | No | No |
| white-space | CSS 1/2.1 | Yes | Yes |
| widows | CSS 2 | No | Yes |
| width | CSS 1 | Yes | Yes |
| word-spacing | CSS 1 | No | Yes |
| z-index | CSS 2 | No | Yes |
| -o-link | No | No | Yes |
| -o-link-source | No | No | Yes |
| -o-text-overflow | No | No | Yes |
| -wap-accesskey | No | Yes | Yes |
| -wap-input-format | No | Yes | Yes |
| -wap-input-required | No | Yes | Yes |
| -wap-marquee | No | Yes | Yes |
| -wap-marquee-dir | No | Optional | Yes |
| -wap-marquee-loop | No | Optional | Yes |
| -wap-marquee-speed | No | Optional | Yes |
| -wap-marquee-style | No | Optional | Yes |
There are three levels of CSS, CSS level 1, 2, and 3. CSS level 2 has a revision under development, referred to as "CSS level 2, revision 1" or "CSS 2.1" for short. CSS level 3 is in an early stage of development.
CSS 2 properties that are discontinued in CSS 2.1 are marked as "†", CSS 2 properties with some values discontinued in CSS 2.1 are marked as "‡". Most of the discontinued properties in CSS 2 are expected to be supported in CSS level 3.
WCSS is short for Wireless CSS, a subset of CSS with some extensions with a "-wap-" prefix.
When level is set to "CSS 1/2" ("CSS 1/2.1"), the property was introduced with CSS Level 1, and extended with CSS Level 2 (revision 1).
Opera doesn't support the list style types cjk-ideographic, hebrew, hiragana, hiragana-iroha, katakana, katakana-iroha. Neither are markers, visibility: collapse, or text-align: string supported. Opera supports all CSS 2.1 list styles.
Opera 9 supports the CSS3 Speech Module. These properties are marked with CSS3 in the table. Aural CSS properties from CSS2 that are not part of CSS3 Speech are not supported. All the new properties introduced in CSS3 Speech are currently prefixed with '-xv-' in Opera's implementation. Once the CSS3 Speech module reaches W3C Candidate Recommendation status, we will add support for the property names as defined in the specification (i.e. without the prefix). CSS3 Speech properties that were already defined in CSS2 Aural are supported as defined in the specification.
| At-rule | Level | WCSS | Supported |
|---|---|---|---|
| @charset | CSS 2 | Yes | Yes |
| @font-face | CSS 2† | No | No |
| @import | CSS 1 | Yes | Yes |
| @media | CSS 2 | Yes | Yes |
| @namespace | CSS 3 | No | Yes |
| @page | CSS 2† | No | Yes |
| @phonetic-alphabet | CSS 3 | No | No |
| Media Feature | Supported | Remarks |
|---|---|---|
| color | No | |
| color-index | No | |
| device-aspect-ratio | Yes | |
| device-height | Yes | |
| device-width | Yes | |
| grid | No | |
| height | Yes | |
| max-color | No | |
| max-color-index | No | |
| max-device-aspect-ratio | Yes | |
| max-device-height | Yes | |
| max-device-width | Yes | |
| max-height | Yes | |
| max-monochrome | No | |
| max-resolution | No | |
| max-width | Yes | |
| min-color | No | |
| min-color-index | No | |
| min-device-aspect-ratio | Yes | |
| min-device-height | Yes | |
| min-device-width | Yes | |
| min-height | Yes | |
| min-monochrome | No | |
| min-resolution | No | |
| min-width | Yes | |
| monochrome | No | |
| resolution | No | |
| scan | No | |
| width | Yes |
Need help? Hit F1 anytime while using Opera to access our online help files, or go here.