diff --git a/assets/style.css b/assets/style.css
index 3bb0d51bf..eed256607 100644
--- a/assets/style.css
+++ b/assets/style.css
@@ -93,3 +93,17 @@
margin-top: 3em;
}
}
+
+.greycode code {
+ background: #f3f3f3;
+ padding: 5px 5px 4px 5px;
+ border-radius: 3px;
+}
+
+.greycode code + em {
+ color: #aaa;
+}
+
+.greycode a {
+ margin: 0 5px;
+}
diff --git a/ie.md b/ie.md
index a82b23040..f0d22a42f 100644
--- a/ie.md
+++ b/ie.md
@@ -3,84 +3,90 @@ title: Internet Explorer
layout: default
---
-### IE7+ only
+## CSS Selectors
- * Selectors:
- - `>` _(descendant)_
- - `[attr]` _(attribute)_
- - `.class1.class2` _(multiple classes)_
- - `~` _(sibling)_
- * CSS properties:
- - `max-width`
- - `position: fixed`
+| Feature | IE6 | 7 | 8 | 9 | 10 |
+| ---------------------------------------------------------- | - | - | - | - | -- |
+| `>` _(descendant)_ | | 7 ✓ | ✓ | ✓ | ✓ |
+| `[attr]` _(attribute)_ | | 7 ✓ | ✓ | ✓ | ✓ |
+| `.class1.class2` _(multiple classes)_ | | 7 ✓ | ✓ | ✓ | ✓ |
+| `~` _(sibling)_ | | 7 ✓ | ✓ | ✓ | ✓ |
+| `+` _(adjacent)_ | | 7 ✓ | ✓ | ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- |
+| `:first-child` 1 | | | 8 ✓ | ✓ | ✓ |
+| `:focus` | | | 8 ✓ | ✓ | ✓ |
+| `:before` `:after` _(single colon only)_ | | | 8 ✓ | ✓ | ✓ |
+| `:lang` | | | 8 ✓ | ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- |
+| `:first-of-type`, `:last-of-type` | | | | 9 ✓ | ✓ |
+| `:last-child` | | | | 9 ✓ | ✓ |
+| `:empty` | | | | 9 ✓ | ✓ |
+| `:enabled` `:disabled` `:checked` | | | | 9 ✓ | ✓ |
+| `:not()` | | | | 9 ✓ | ✓ |
+| `:nth-child()` `:nth-last-child()` | | | | 9 ✓ | ✓ |
+| `:nth-of-type()` `:nth-last-of-type()` `:only-of-type()` | | | | 9 ✓ | ✓ |
+| `:only-child()` | | | | 9 ✓ | ✓ |
+| `:target` | | | | 9 ✓ | ✓ |
+| `::selection` | | | | 9 ✓ | ✓ |
+| `:root` | | | | 9 ✓ | ✓ |
+{:.wide.greycode}
-### IE8+ only
+## CSS properties
- * Selectors/pseudos: ([polyfill: selectivizr][selectivizr])
- - `+` _(adjacent)_
- - `:first-child` 1
- - `:focus`
- - `:before`, `:after` _(single colon only)_
- * CSS properties:
- - `outline`
- - `display: inline-block` 2
- - `display: table`
- - `border-collapse`, `border-spacing`, `table-layout`, ...
- - `whitespace: pre-wrap`
- - `whitespace: pre-line`
- - `box-sizing`
- * Features:
- - PNG alpha transparency
- - `data:` URI
- * JS features:
- - JSON parsing
- - Cross-origin resource sharing
+| Feature | IE6 | 7 | 8 | 9 | 10 | 11 |
+| ---------------------------------------------------------- | - | - | - | - | -- | -- |
+| `max-width` | | 7 ✓ | ✓ | ✓ | ✓ | ✓ |
+| `position: fixed` | | 7 ✓ | ✓ | ✓ | ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- | -- |
+| `outline` | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `display: inline-block` 2 | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `display: table` | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `border-collapse`, `border-spacing`, `table-layout`, ... | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `whitespace: pre-wrap` | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `whitespace: pre-line` | | | 8 ✓ | ✓ | ✓ | ✓ |
+| `box-sizing` | | | 8 ✓ | ✓ | ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- | -- |
+| `background-clip` | | | | 9 ✓ | ✓ | ✓ |
+| `background-origin` | | | | 9 ✓ | ✓ | ✓ |
+| `background-size` | | | | 9 ✓ | ✓ | ✓ |
+| `background: x, y, z` _(multiple backgrounds)_ | | | | 9 ✓ | ✓ | ✓ |
+| `opacity` | | | | 9 ✓ | ✓ | ✓ |
+| `border-radius` | | | | 9 ✓ | ✓ | ✓ |
+| `box-shadow` | | | | 9 ✓ | ✓ | ✓ |
+| `rgba()` | | | | 9 ✓ | ✓ | ✓ |
+| `transform` | | | | 9 ✓ | ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- | -- |
+| `animation` | | | | | 10 ✓ | ✓ |
+| `transition` | | | | | 10 ✓ | ✓ |
+| `linear-gradient()` | | | | | 10 ✓ | ✓ |
+| `text-shadow` — [polyfill][text-shadow] | | | | | 10 ✓ | ✓ |
+| ---------------------------------------------------------- | - | - | - | - | -- | -- |
+| `border-image` | | | | | | 11 ✓ |
+{:.wide.greycode}
-## IE9+ only
+## Features
- * Selectors/pseudos: ([polyfill: selectivizr][selectivizr])
- - `: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()`
- - `transform`
- * CSS features:
- - `@media` queries ([polyfill: respond.js][respond])
- * HTML5 features:
- - `