|
|||||||
|
|||||||
|
This page demonstrates each of the 200+ bugs in Internet Explorer 4.
Are you running a version of Internet Explorer 4?
Are the observed results for you different from those described here?
If so, please e-mail bugs@richinstyle.com with the precise version number (try Help/About) and the platform (e.g., Macintosh), so that more bugs can be documented.
<meta http-equiv="link" content="<meta.css>; rel=stylesheet; type='text/css'">
<LINK rel="stylesheet" href="ignored.css" title="ignored">
<LINK rel="stylesheet" href="preferred.css" title="preferred">
This should not be red because only one preferred style sheet should be used at once - all but the last should be ignored; however, in IE 4 it will.
<LINK rel="alternate stylesheet" href="alternate.css" title="alternate">
This should be red when the alternate style sheet has been selected; in IE 4, you won't be allowed to select it
@media handheld {
P.two {color: red;
background: green}
P.one {color: red;
background: green}
}
<P class="two">
This won't be red on green.
</P>
<P class="one">
This will be red on green.
</P>
This won't be red on green - neither should it.
This will be red on green - it shouldn't be.
P.three {color: @value {eval (6 * @location {url(cheeseburger)} ) };
color: green}
P.four {color: blue}
This should be green, but won't be.
This should be blue, but won't be.
@import "quotes1.css";
@import 'quotes2.css';
This should be red as a result of quotes1.css, but won't be, because IE 4 doesn't support " in @import.
This should be red as a result of quotes2.css, but won't be, because IE 4 doesn't support ' in @import.
@import url(space.css) ;
This should be red as a result of space.css, but won't be because IE 4 doesn't allow a space between ) and ;.
BODY P#twenty {color: red}
<P style="color: blue">
This element should be red since style's specificity is 100, but it will be blue in IE 4.
DIV + P.ten {color: red}
HTML > P.eleven {color: red}
OL * LI.twelve {color: red}
This will be red because IE 4 doesn't support + properly.
This will be red because IE 4 doesn't support > properly.
A:hover {color: white;
background: black}
A:visited {color: black}
Here's a link that you will have visited.
According to CSS2, when you hover over the link above, it should be black on white (since :visited comes after :hover and therefore overrides it, and since BODY's background is white and A:visited's is transparent (initial value)). It won't be in IE 4 - it will be black on black.
A:hover {color: red}
/* background: transparent - initial value; not explicitly stated */
A:link {color: green;
background: red}
Here's a link that you will not have visited.
The link above should be green on red when hovered over (since :link follows :hover and therefore overrides it), but IE 4 won't apply this, instead making it red on transparent.
:hover {color: red}
/* background: transparent - initial value; not explicitly stated */
A:active {color: green;
background: red}
When you click on the link above and hover over it, it will be red on red instead of green on red as it should be.
:active {color: black}
:link {color: white;
background: black}
When you click on (i.e., activate) the link above it should be white on black, but instead will be black on black.
:active {color: red;}
The link above shouldn't be red when tabbed to, since that would be the correct behavior for :focus, not :active.
:link:hover {font-size: 24pt;}
When you hover over the link above, it should not be 24pt high since the link is visited, but it will be.
P.Case {color: red}
P#Case {color: red}
<P class="case">
<P class="case">
This shouldn't be red, but it will be in IE 4.
This shouldn't be red, but it will be in IE 4.
This has class="redrum", and the style rule applied is P.whiterum.redrum. It shouldn't be red, but it will be.
This (class="Ģi") should be red, but won't be in IE 4.
P.twentyone:first-line {color: red}
This :first-line should be red, but it won't be.
P.twentytwo:first-letter {color: red}
This :first-letter should be red, but it won't be.
P.\
nine {color: red}
This won't be red due to IE 4's non-support of the backslash.
P/* comment */.thirteen {color: red}
This won't be red, even though it should be.
@import /* a comment */ url(nocomment.css);
This won't be red, even though it should be.
/* **/ P.fifteen {color: red}
This won't be red, even though it should be.
This should be red (color/* */ : red), but it won't be.
This should be italic (.comport/* */ {font-style: italic), but it won't (only) be - the HTML element will (the HTML element can be seen at the top of the page - the rest of the page is enclosed in a DIV to override the ugly effects of this bug).
|
|
|
|
Each 'Some text' should be in line (because equivalent line heights are specified), but won't be.
x |
x |
x |
x |
x |
The tops of the images above should not be lined up (the two fonts will have different sizes), but will be.
<p style="font-family: WingDings">
The cat
</p>
The cat
The above text should say 'The cat' in a font other than WingDings, since WingDings doesn't contain glyphs for any of the requested characters, but IE 4 won't obey this.
Lighter Lighter
The two pieces of text above should be of different weights (the one on the left is lighter over 900, the one on the right is 600).
Bolder Bolder
The two pieces of text above should be of different weights (the one on the left is lighter over 500, the one on the right is 700).
This should be the same size as the rest of the document (aside from the headings and PREs), but won't be (font-size: medium).
This should be smaller than the rest of the document (aside from the headings and PREs), but won't be (font-size: small).
SmallerSmaller
The two pieces of text above should be of different sizes (one has font-size: 16px, the other font-size: smaller than that value).
The two pieces of text above should appear as one (one is a TT element with font-size: 100%; the other a DIV with font-family: monospace).
Should be slanted, but will be italic.
Should be small-caps - but will just be uppercase.
<div style="text-transform: capitalize">
<p style="font-variant: normal">
Should be uppercase, won't be.
</p>
</div>
Should be uppercase, won't be.
<p style="line-height: 100px; font-variant: small-caps; font: caption">
This should not have an enormous line-height and shouldn't be small-caps unless that is appropriate for caption text.
<P style="font: smallcaption">
<P style="font: small-caption">
This should not be in small caption, but will be.
This should be in small caption, but won't be.
This text has line-height 300px, but the image will break this in IE 4.
Here's a P style=font-size: 300px; line-height: 100%
Some text
This text (text-indent: 100%) will extend the element's width, the background being applied behind the overflowed text, which is wrong because the overflow doesn't affect the background, which is associated with the block, not the text.
See the first line of this document, which should (BODY {text-indent: 2cm}) be indented, but won't be.
See the whole of the document - there is no text-indent.
This text (text-indent: 50% in a div of width 100 pixels) will overflow its block in IE4.
This P has text-decoration: underline, and this SPAN has text-decoration: none, which should not suppress the ancestor's t-decoration but does.
This P has text-decoration: underline via style and line-through via a class. It should only be underlined, but will be l-throughed as well.
This should not be underlined because t-decoration only inherits to inline descendants. In IE however, it will be.
This text should be blinking but won't be.
This text should be underlined (text-decoration: underline; text-decoration: blink;) but won't be.
The image here: should have its alt text underlined, but won't in IE 4.
This should have a whole load of word-spacing; it won't.
This should have the top of the text aligned with the top of the image.
The image won't be aligned with the middle of the text - instead with the baseline.
This image should be subscripted but won't be.
You will notice that the image won't be aligned with the bottom of the background as it should be (because the bottom of the background is, on inline elements, the bottom of the text).
This should be raised by 2 inches; it won't be.
This text has a line break in its markup here: But not in IE 4.
The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't. The background (background: url(green.gif) 50% 50%;) should cover the whole of this element, but it won't.
This first word won't have a right margin, although it should do.
This: word won't have a 10 pixel padding.
This image should not have a big margin because CSS margin overrides HTML vspace/vspace, but in IE 4 it will.
There should be a big block of red above; there won't be.
The above two elements should line up. In IE 4 they will not.
The actual width of the content above will be wrong - it should be the same but won't be.
This element should be right-aligned; it won't be.
The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence. The right of this element will be cut off in mid-sentence.
The two blocks above should be of equal width (they are contained in a 200-pixel wide DIV, and one has padding-right: 50%, the other padding-right: 100px), but in IE 4 they won't be.
The DIV above should have a 2em bit of white space inside its border (because it has padding: 2em; border: solid), but it won't have - it will be red at the top and green at the bottom, because the backgrounds of the P elements inside it will bleed upwards.
The BODY of this has a border; it will be applied outside of the scroll bar, but shouldn't be.
Equally, the margins of BODY will be applied inside the border.
This HTML element should have a red border. You won't be able to see it.
This has margin-left: 10%; border: solid; padding: 0 on an P inside a DIV.
This has margin-left: 10%; border: solid; padding: 0 on an inner P with width: 300px on the outer DIV - that declaration will cause the inner P to have the margin applied both as a margin and as padding.
This SPAN should have a border; it won't have.
The two elements above should have the same content width because they both have width: 300px, but in IE 4 they won't have.
This element should have a grooved 10 pixel border, but in IE 4 because the border color is dark (in this case black), you won't be able to tell that this is so.
Because this P element has a big margin-left, it should overflow its containing DIV, but in IE 4 it won't, instead causing the containing block to be extended.
This P element should have a 100-pixel width. In IE 4 it won't have.
The DIV element above has width: 0. This should either cause the browser to set min-width to a greater value and therefore ignore the width declaration or (better IMO) allow the entirety of the DIV to overflow. Its chosen option, cutting off the overflow, is not acceptable.
This P should have a 1000-pixel height, but won't in IE 4.
The DIV above should have a width of 0 (because that is the value that results from the box model equation - width is not specified), but in IE 4 it will have 100% width.
em like.
The element should be rendered as 'me like', but in IE 4 because it won't reflow the line, it will be rendered as e like
m.
The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it. The floating image should overlap this element, but in IE 4 will shorten it.
The floating image should allow the text to flow on both sides of the image, but in IE 4 will only allow flow on one side. The floating image should allow the text to flow on both sides of the image, but in IE 4 will only allow flow on one side.
The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?The text should flow around the image in an attractive manner. Do you see?
The correct behavior will not happen in IE 4.
Me like Spike
You like Spike?
The M above should be aligned with the top of line box from which it was displaced, but in IE4 will be aligned with the top of the border.
Text.
The margin of the IMG will be blue in the space between the two Ps. This is wrong because margins are transparent.
This 'T' will have its top cut off because of its small line height, instead of allowing it to overflow, as it should.
You should see this
The three DIVs above should not float side-by-side (only the first two should) because where a DIV will overflow the containing block, it should be moved down.
This non-floated P element should flow below the DIV, but in IE 4 it will flow to the right of it.
You will see that the HR will be shortened instead of overlapped with.
This text should flow around the image in an attractive manner, but in IE 4 it will not do so - the clear: left, which should have no effect on inline content, will move the text down.
Some text that will flow around the P element Some content in an element that will (correctly) float to the right below the other float.
When hovered over, this element should have an animated RichInStyle.com cursor; in Internet Explorer, this won't occur.
When hovered over, this element should have a link cursor at CSS-2.
When hovered over, this element should also have a link cursor (cursor: hand; cursor: pointer).
This P is inside a cursor: wait DIV. Since it has cursor: auto, the cursor: wait won't have any effect - cursor: auto means 'use the default cursor' (for P this is an I-bar). However, IE 4 won't obey this and will instead give it the hourglass.
This element has a n-resize cursor. In Windows, this should be the same as the next element (which has a s-resize) cursor, but in IE 4 this won't be so because it uses its own cursor, which doesn't correspond to the system settings.
This element has a s-resize cursor. In Windows, this should be the same as the previous element (which has a n-resize) cursor, but in IE 4 this won't be so because it uses its own cursor.
There is a SPAN here: that should behave like a block element, with a line break before and after:, but in IE 4 this won't be so because it doesn't support display: block.
that should behave like an inline element, with no line break before or after:
, but in IE 4 this won't be so because it doesn't support display: inline.that should behave like a list-item
, but in IE 4 this won't be so because it doesn't support display: list-item.The first two elements in this document have page-break-before: left. Because UAs are required to keep a track of left and right pages even if they print them as the same, there should be one page break before one and two before the other (since if page-break-before: left results in a left page, the next element will therefore require two page breaks to get onto another left page), but in IE 4 there will be only one page break before each.
The first element in this document has a big margin. This shouldn't be honored because the element is the first thing on its page, but in IE 4 it will be.
Top left?
The element above, which has been specified as being absolutely positioned at the top of the left of BODY, won't be because IE 4 only supports absolute positioning on DIV and TABLE of block elements.
The block above should appear as a 100-pixel square block of red because of overflow: hidden and clip, but in IE 4 it will just be a 100-pixel square block of red.
The following element has visibility: hidden on the DIV and visibility: visible on the P inside it. It should therefore be visible - not in IE 4.
The square within which this radio button is circumscribed should be 100 pixels square .
This checkbox should be 100 pixels square: .
The second OPTION in this SELECT should be 50 pixels high and bold; in IE 4 it won't be
The second OPTION should have a background image: . The SELECT should have a background image:
These all should have big line heights (they won't have):
Here's an text box with a big line height that will cause the initial text to be made invisible: .
Here's an password box with a big line height that will cause the initial text to be made invisible: .
Here's an text box with a big padding that will cause the initial text to be made invisible: .
Here's an password box with a big line height that will cause the initial text to be made invisible: .
The second OPTION here should be underlined:
The SELECT here should have 100 pixels of padding:
The second OPTION here should have 100 pixels of padding:
The second OPTION here should have a 100 pixel margin:
Here's a radio button and checkbox that should have borders but won't:
This image button should have a red border, but it will be
transparent:
This HR should be half normal width - it won't be:
This HR should be left-aligned and half normal width - it won't be:
This HR should be right-aligned and half normal width - it won't be:
This horizontal rule should be flush with the right of BODY and half normal width - it won't be:
The HR above should be 10 pixels high (because of a height in % with a 100-pixel high ancestor DIV) - it won't be (note that the extra space is due to the DIV).
The horizontal rule above should not be red (color specified - color doesn't affect borders (unless border-color is normally set to color, which it isn't in IE 4) or backgrounds, the two constituent parts of IE 4's horizontal rules)
The border of the above horizontal rule should be blue - it won't in IE 4.
The HR above should have 10 pixels of vertical padding (applied inside the border) - it won't in IE 4.
The CAPTION above will have the border overlapping with the CAPTION because IE 4 doesn't adjust caption sizes to apply borders.
A cell |
This TD element won't have inherited font-size, font-style, font-variant or font-weight from BODY. |
This TD element won't be red, even though it should be, because color is inherited from BODY instead of from the ancestor. |
This TABLE should have a red background with 100 pixels of red padding - it won't in IE 4; instead it will inherit the padding to the (blue) table cell. |
This TR should have a red background with 100 pixels of red padding - it won't in IE 4; instead it will inherit the padding to the (blue) table cell. |
This cell should be positioned 100 pixels down - it won't in IE 4 | The next cell for alignment comparison. |
This row should be positioned 100 pixels down - it won't in IE 4 |
This table cell should not be red because color has no effect on columns - it will be in IE 4. |
Here's a P element.
And here's a TD element that shouldn't be part of that P element because the TABLE implies </P>. |
This table shouldn't be right-aligned because text-align only affects the alignment of inline content within line boxes. |
Should be right-aligned because text-align is inherited. |
because although the text is enclosed in a 10 pixel SPAN, the LI has line-height: 100px, which will set the line-height of the marker to 100 pixels, which therefore makes the height of the whole line box 100 pixels.
This shouldn't have a big line-height because of a space after the '/', but it will in IE 4.
This P element has no vertical-align
This P element has no vertical-align - it should look the same as the previous example, but it won't in IE 4.
The block of color above should be blue because z-index values must be integers, but in IE 4 the floating point value is honored making it red.
Copyright © RichInStyle.com 2000; all rights reserved. See copyright document for terms of use. Please visit Bukit Lawang flood appeal.