views:

116

answers:

5

Hey everyone,

I know there is this post, but I still want to know more and learn from other ppl that have a lot more experience than I do. So I was wondering what CSS-features or Javascript-functions or anything else I am not thinking of right now do not work in IE6+ or have you experience to not work with IE6+? And maybe you have a hack for it (except my favorite one: use a different browser)? I'd really appriciate your opinion. Thnx.

+6  A: 

If you need a list of IE bugs

refer this

Explorer Exposed!

Another CSS that won't work with IE is

Border-radius: create rounded corners with CSS!

And also read this one from msdn

CSS Compatibility and Internet Explorer

rahul
wow, awesome, looks good! thnx
doro
marked as "correct answer" as for the rating ... no offense meant to all the others.
doro
+3  A: 

There's always quirks mode

Russ Cam
cute, checking it out! awesome!
doro
quirks mode is a great source for all browser compatibility information.
Russ Cam
thank you :) I love learning new things!
doro
A: 

IE (not only 6 though, think I've seen this on 7 as well) has this thing where it will not evaluate values in loops until it's out of the method. That is, this code (example of setting ids on cells in a table row):

putids = function (cells)
{
    for (var i = 0; i < 5; i++)
    {
        cells[i].id = "cellid" + i;
    }
}

would give you 5 cells, all with the id "cellid5". You actually need to move the assignment to a different method and call that in the loop in order to have different ids.

As for CSS, I remember the "absolute" versus "fixed" trouble: they're exactly opposite from any other browser (although yui for example deals with this properly). Also, IE6 has no support for transparent png files.

These are just from the top of my head.

laura
I didn't know that, haven't tried it either (I mean the table-thingy, though I do need it for a project, where I solved the dynamic production of tables with unique ids on server side) ... does jQuery fix the "absolute" vs. "fixed" trouble, too?
doro
Your example loop does not work as you have described and does produce the expected result in IE7 and Firefox 3.5 (I also suspect also in IE6 too but can't chekc at the moment) - check out http://jsbin.com/ayoce add /edit to the URL if you want to see the code. You are right in the fact that there are cases when using loops in JavaScript where a closure is required to "force" context inside of the loop. For example, http://stackoverflow.com/questions/341723/event-handlers-inside-a-javascript-loop-need-a-closure
Russ Cam
This works on every non-ie browser I've tested on as it should. I couldn't remember if this was a specific problem with IE 7 so I put "think" in front of it. As it is, the code is an example, I haven't tested it and wrote it out of my head - however, it is a problem, especially with ie6, which I have confronted on every heavy javascript project I worked on (which required ie6 support). Because I was not able to find this documented anywhere (was the first thing I actually solved myself), I thought it was worth nothing here.
laura
-1: your code does nothing of the kind (tested in IE6). I suspect you've been caught out in the past by creating a closure over a loop variable, which therefore has its final value when used, and incorrectly blamed this on IE. Also, the absolute-v-fixed properties do *not* behave the opposite way to any other browser: absolute works the same way; fixed doesn't work in any worthwhile way at all.
NickFitz
@laura - open http://jsbin.com/ayoce in any browser and see what the result is. The value in each cell is expected to be "Cell z cellid(z-1)" where z is the number of the cell, starting at 1. All the code does is add the id of the cell that is assigned using your function above, to the contents of the cell, which are already "Cell z" (from 1 to z). At the moment, your answer is not correct with your information, but were you to update it with correct information, I'll happily upvote you :)
Russ Cam
+1  A: 

More advanced CSS selectors, such as element > immediate-child, element[attribute=value], etc., do not appear to work in IE (tested on IE8) for elements dynamically added to the page. I've seen stuff like div#something > p {color: red} not working in IE once the p nodes were added dynamically as a child of div#something.

I guess this is an issue you should be concerned with when creating tight CSS for dynamically created content: stick to simple stuff.

kRON
dynamically created content seems to be a major problem with IE, right?
doro
very much so. I'm actually quite happy with CSS support in IE8, getting new selectors such as :active, :hover, ..., but they seem to be mapped only to the initial DOM nodes.
kRON
oh yeah, I am trying to make some CSS-based stuff work in older IEs and it is quite a struggle, but that's nothing new on that front.
doro
+1  A: 

Quirksmode is good. You can also get a full run-down of what is supported by whom over at SitePoint: http://reference.sitepoint.com/css

Eric Meyer
looks good ... a lot of clicking your way through, but very comprehensive! THNX
doro