I go to the effort of ensuring my CSS is W3C compliant, only to open up IE 8 and it to look like a face job gone very wrong. Why does IE exist? Why does it make things SO difficult? Why do people use it? Argh.
I've generally found that NONE of the sites I've designed have problems in IE8, and the only time I see people having problems with 8 is from convoluted overthought solutions to the simplest of pages (no offense) You probably will have to throw it out and use MODERN coding techniques instead of 1997 HTML 3.2 style. Though that's a completly wild guess based on my experience with the types of pages that do break every time the next flavor of the month browser comes along. Which page of yours is having the problem? If it's that 'high 5' website, between the spacer .gif's, inlined CSS and tables for no reason, I stand by the above statements - though it's odd to see obviously semantic markup that uses separation of presentation from content alongside presentational markup with vague or presentational classes. Can I assume this was written by more than one person? Without knowing what page is causing you problems, it's impossible for any of us to point you the right direction. Oh, and compliant code does NOT mean properly coded or that you didnt' use techniques known not to work even in standards complaint browsers. How does your page hold up in Opera or Safari?
Atop of all DS has said, why are you looking in the beta version of an unreleased (officially) browser? While yes IE8 is already decent enough that a properly coded page should look pretty good, and it's a bad sign to have it break so badly in IE8, but IE8 is NOT a browser to be testing against. It's been released as a beta so that IT can be tested itself against compliant pages in order to find bugs in it before it's released. Your IE testing should be in IE6 and 7, and 5.5 if you are required to support that client base. The rest of your testing should include at a mimimum Opera, Safari, Firefox and possibly a text-only browser (or get a plugin that makes it very easy to turn css, javascript, images etc on and off to see how your page works with that stuff off.
Which I've said a dozen times in other threads and forgot to say here. If you find bugs in IE8 beta's rendering of a page that works correctly in every other browser, you should be reporting that to Microsoft instead of trying to change the page to work. That's what a BETA is FOR. If you don't report it, don't be suprised when your page doesn't work in final and we all continue to bitch about IE.
Thanks for your comments, both of you. It wasn't the site in the signature, no, however admitedly the code is a little rushed (though it does work..). The post I made was more of a vent than a plea for help, I just find it frustrating that browser platforms don't agree on a standard (ie. many have their own preset styles and margins). Anyway, I've overcome the issue (for now) with a conditional IE stylesheet. The reason I tested in IE8 is a) because that's what I have, b) because despite it being BETA there are many web users who use it.. so the fact it's still in development is irrelevant because this site needs to look good in whatever users are choosing to use. If "valid css" tests are redundant for x-browser compatability, how is one supposed to know they are coding to "modern" standards? Obviously this undermines the apparent validity of CSS, which is what I work towards, if it's not constructed in a "proper" manner to ensure all browsers are "happy".
It's not that it undermines it, so much as it is only the FIRST step - one of many. In addition to using valid code you have to remember that legacy browsers and many modern browsers may or may not support the full specification, may have rendering differences that are VALID in the specification because the specs don't actually SAY how some elements should be rendered (forms are a great example of this), etc, etc. Pretty much though, if you had to resort to a conditional, you've probably got bigger problems in the code. There are only a handful of times I've had to resort to them, and 99% of website layouts don't need them unless there are underlying problems with the markup, incorrect/buggy use of things like positioning, or the designer is working from some crap WYSIWYG like dreamweaver. You want I can take a look - I'll often do recodes of templates for people for free if they don't mind it being documented on the forums for others to learn from. I'd rather get you pointed the right direction than have you continue to be led down the garden path by the bad practices that permeate the web.
Hi Owen, You can actually force IE8 to use the internet explorer 7 engine. Normally, you'd have to click the "compatibility view" button to view it using IE7's standards, but if you put: <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /> Code (markup): ..... into the <head> section, it will force the browser to use IE7's standards
Curiously they did. User agents are not required to support meta data mechanisms. For those that choose to support meta data, this specification does not define how meta data should be interpreted. IF you were to implement browser specific switches, META is the element that makes the most sense to do it with since it pretty much EXISTS for the purpose of sending user agent specific information - or at least information that it is 'ok' for user agents to ignore. Sure beats the hell out of the IE conditional crap.
What I meant was IE now has a compatibility mode for IE7, IE8 and then IE6 is different from both of those, as is IE5 which are all different from every other browser that just follows the W3C standard which Microsoft helped write. It seems a little "do what I say not what I do".
Well remember, they were the first browser maker to even TRY to follow standards, and for a good while WAS the closest thing to standards compliant... They just rested on their laurels for WAY too long once they had enough share to be the 500lb gorilla. Now reality is setting in.
Funny, we say that for a browser but if a cancer-curing drug is still in experimentation, we don't say that it had better work like the already-tested-and-released drugs even though it's still experimental. Anyone using IE8 got a big message when they downloaded it: BETA. If a site looks like crap in that browser, tough. These same people using IE8 as a surfing browser funnily enough wouldn't dare drive their kids in an experimental BETA automobile would they? Though I think even now with the stuff fixed in IE8 it should be minor differences from the modern browsers. As far as rendering. As far as scripting I guess it's as goofy as ever.