The selectors and properties below should all work according to the W3C specifications.
| Selector | Comments | Test |
|---|---|---|
| parent > child | html - xml | |
| adjacent + sibling | html - xml | |
| .multiple.classes | IE5/6 bug fixed (also applies to pseudo classes) | html |
| :active | html - xml | |
| :focus | html | |
| :hover | html - xml | |
| :lang() | html | |
| :first-child | html - xml | |
| ::after | html | |
| ::before | html | |
| [attr] | html - xml | |
| [attr="value"] | html - xml | |
| [attr~="value"] | html - xml | |
| [attr|="value"] | html - xml |
| Selector | Comments | Test |
|---|---|---|
| namespace|selector | CSS Namespaces | xml |
| adjacent ~ sibling | html - xml | |
| :checked | html | |
| :contains() | html | |
| :disabled | html | |
| :empty | html - xml | |
| :enabled | html | |
| :indeterminate | html | |
| :last-child | html - xml | |
| :not() | html | |
| :nth-child() | html | |
| :nth-last-child() | html | |
| :only-child | html | |
| :root | html - xml | |
| :target | html | |
| [attr^="value"] | html | |
| [attr$="value"] | html | |
| [attr*="value"] | html |
| Property | Comments | Test |
|---|---|---|
| background-attachment | support fixed positioning | html |
| background-image | PNG alpha transparency (IE5.5+) | html - xml |
| border-spacing | HTML tables only | html |
| box-sizing | content-box (assumed) | html |
| bottom | height implied if top is
supplied | html |
| content | Supports the use of attr() and
url() | html |
| cursor | support pointer for IE5.x | html |
| display | convert list-item to block for IE5.x | |
| font-size | fix named font sizes (quirks mode) | html |
| margin | support auto (quirks mode) | html |
| min-height | implemented for IE5 | html |
| min-width | html | |
| max-height* | html | |
| max-width | html | |
| opacity | IE5.5+ | html |
| overflow** | support overflow:visible | html |
| position | support fixed positioning | html |
| right | width implied if left is
supplied | html |
*This works if you also set the overflow property.
**This is included in a separate module (ie7-overflow.js) as it alters the
structure of the document.
| Element | Comments | Test |
|---|---|---|
| abbr | IE5/6 bugs fixed | html |
| button[type=submit] | value submitted rather than
innerText | html |
| form | only submit successful controls | html |
| img | PNG (IE5.5+) alpha transparency | html |
| label | bind to the first child control | html |
| object | support for type=image/* | html |
| img/object | support base64 encoded images | html |
| Object.property | Comments | Test |
|---|---|---|
| Array.push() | Added for IE5.0 | |
| Array.pop() | Added for IE5.0 | |
| document.recalc() | Call this to refresh IE7 styles | html |
| String.replace() | Allow replacement value to be a function (IE5.0) |
*Don’t get too excited about additional fixes. The ones provided are mainly there to allow IE7 to support IE5.0.
| Bug | Comments | Test |
|---|---|---|
| Spurious Tooltip | IE uses the alt attribute when no title
is specified for <img> elements | html |
| Doubled Margin* | Position Is Everything | html |
| Peekaboo* | Position Is Everything | html |
| Unscrollable Content* | Position Is Everything | html |
| Noncollapsible Margins | I think I discovered this bug :-) | html |
*These fixes are not in the standard IE7 library. They are included in a separate
module ie7-squish.js.
| Feature | Comments | Test |
|---|---|---|
| Dynamic Attribute Selectors | An additional module* provides support for dynamic maintenance of attribute selectors | html |
*ie7-dynamic-attributes.js