Internet Explorer and 24-bit Alpha transparent PNGs

Everybody knows that Internet Explorer cannot render 24-bit alpha transparent PNG's. Which is a shame because drop shadows and rounded corners are so en vogue at the moment (2006).
There is a way to use a Microsoft filter within your stylesheet so that PNG's are rendered correctly, the trouble is this is quite resource intensive (uses up your computers memory) and if you use Anchor tags or even form elements like text input boxes then they won't work.
There are however a couple of sneaky hacks that can help.
The following shows how Internet Explorer has problems with form elements and filters when used together.
Example 1 - The problem
Form elements are unusable
Example 2 - The work around
Use a 24-bit alphtransparent image as it is but force the input elements to be relatively positioned with a z-index of 0.
#filter-example-2 label, #filter-example-2 button {
position:relative;
z-index:0;
}
Example 3 - Another work around
Use a 24-bit alphtransparent image 1px x 1px.
We can't repeat the image (i.e. repeat-x / y) but we can scale it using the filter
XMLHttpRequest Object methods
| Method/Property | Description |
|---|---|
| abort() | Stops the current request. |
| getAllResponseHeaders() | Returns the response headers as a string. |
| getResponseHeader("headerLabel") | Returns a single response header as a string. |
| open("method", "URL"[, asyncFlag[, "userName"[, "password"]]]) | Initializes the request parameters. |
| send(content) | Performs the HTTP request. |
| setRequestHeader("label", "value") | Sets a label/value pair to the request header. |
| onreadystatechange | Used to set the callback function that handles request state changes. |
| readyState | Returns the status of the request: |
| 0 = uninitialised | |
| 1 = loading | |
| 2 = loaded | |
| 3 = interactive | |
| 4 = complete | |
| responseText | Returns the server response as a string. |
| responseXML | Returns the server response as an XML document. |
| Status | Returns the status code of the request. |
| statusText | Returns the status message of the request. |
