Selectors:
>
(descendant)[attr]
(attribute).class1.class2
(multiple classes)~
(sibling)
CSS properties:
max-width
position: fixed
Selectors/pseudos:
+
(adjacent):first-child
(unless for static elements):focus
:before
,:after
(single colon only)
CSS properties:
outline
display: inline-block
(unless on<span>
)display: table
whitespace: pre-wrap
whitespace: pre-line
border-collapse
,border-spacing
,table-layout
, ...box-sizing
Features:
- PNG alpha transparency
data:
URI
JS features:
- JSON parsing
- Cross-origin resource sharing
Selectors/pseudos:
:first-of-type
,:last-of-type
:last-child
:empty
:enabled
,:disabled
,:checked
:not()
:nth-child()
,:nth-last-child()
,:nth-of-type()
,:nth-last-of-type()
,:only-of-type()
:only-child()
:target
::selection
CSS properties:
background-clip
background-origin
background-size
background: x, y, z
(multiple backgrounds)opacity
border-radius
box-shadow
rgba()
-ms-transform
CSS features:
@media
queries
HTML5 features:
<canvas>
<svg>
<img src='image.svg'>
CSS features:
-ms-animation
transition
linear-gradient()
Features:
<input placeholder='..'>
<input type='range'>
HTML5 features:
- Web sockets
CSS properties:
text-shadow
(polyfill)
Always install these in every project:
- selectivizr for selectors
- html5shiv for new HTML tags
- json2 for JSON parsing (IE7-)
You may also need these:
- [modernizr] for feature detection
- css3pie for CSS3 decorations
Also see:
- "Static" = doesn't work for elements inserted via JS