Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

tominated

macrumors 68000
Original poster
Jul 7, 2006
1,723
0
Queensland, Australia
WTF is going on. I have got perfectly good xhtml and css (validated) with the ie7 javascript framework but it still f*cks up in ie6 and below!
Here is a shot of what it is supposed to look like

but it looks like this

how the hell am i supposed to fix it!? I you want I can post the xhtml and css. Thanks in advance,
Tominated.
EDIT: whoops, I messed up that first screenshot (just copied it into the same dox as last one)
 
Why do you need a framework for IE7? It renders css pretty well on it's own.

As far as how to fix it? It's called debugging IE.

http://www.positioniseverything.net/explorer.html has most of the IE bugs documented as well as the work around. I'd start there. Validation is a good start, but it's not the end of all solutions. Create an IE6 stylesheet and link to it with a conditional comment. You can feed styles to IE6 and not worry about it screwing up other browsers.
 
oh welcome to the world of web design my friend. Many, many headaches have been caused by IE since it's inception. Your best bet is to grit your teeth, forget about validation (harsh I know) and get it working relatively the same in all browsers.

In a perfect world everyone's page would validate fine, in a M$ world we do what works.
 
WTF is going on. I have got perfectly good xhtml and css (validated) with the ie7 javascript framework but it still f*cks up in ie6 and below!
Here is a shot of what it is supposed to look like

but it looks like this

how the hell am i supposed to fix it!? I you want I can post the xhtml and css. Thanks in advance,
Tominated.
EDIT: whoops, I messed up that first screenshot (just copied it into the same dox as last one)

the source for the page would be very helpful in finding the issue. dont forget the CSS.

oh welcome to the world of web design my friend. Many, many headaches have been caused by IE since it's inception. Your best bet is to grit your teeth, forget about validation (harsh I know) and get it working relatively the same in all browsers.

In a perfect world everyone's page would validate fine, in a M$ world we do what works.

thats just bad advice.
what you should be doing is writing standards-compliant markup and css, and THEN finding ways to solve the MSIE issues, without breaking the markup. conditional comments are a great way to do this.

Why do you need a framework for IE7? It renders css pretty well on it's own.

As far as how to fix it? It's called debugging IE.

http://www.positioniseverything.net/explorer.html has most of the IE bugs documented as well as the work around. I'd start there. Validation is a good start, but it's not the end of all solutions. Create an IE6 stylesheet and link to it with a conditional comment. You can feed styles to IE6 and not worry about it screwing up other browsers.

he is referring to the /IE7/ framework. its a javascript library that fixes MANY of the IE5.5/IE6 rendering/layout/css bugs. but its caused me more hassles than it was worth, and i've reverted to conditional comments and an MSIE.css file.
 
thats just bad advice.
what you should be doing is writing standards-compliant markup and css, and THEN finding ways to solve the MSIE issues, without breaking the markup. conditional comments are a great way to do this.

Why?

Give me one good reason why the holy grail of validation is more important than cross browser compatibility? I agree, if IE could render valid code properly then yes, let's all validate our code 100% of the time.

But at the end of the day I'd rather know all my users are going to see the same thing then worry about some snooty validation tags on my site which 99% of users are clueless about anyways.

I'm not trying to discredit validation, I'm just saying that with IE still controlling the web we're forced to work around it.
 
Give me one good reason why the holy grail of validation is more important than cross browser compatibility?

It isn't, and won't be as long as IE continues to suck. Even my site, System 7 Today, has about 50% of traffic coming from IE for Windows. If it doesn't work in IE, it doesn't work. My 2¢.
 
the reason I am using this framework is so I can get transparent png's and the :hover pseudo css selector to work on li tags. I have tried the framework with a few pngs and i stretches theme (even if i give the img tags a specific size in the css.
 
because you quite clearly dont understand the technology. its VERY possible to produce 100% standards-compliant code, that renders the same in MSIE. i do it regularly.

the whole REASON for having standards is that it works the same everywhere. yes MSIE makes things difficult, but not impossible.
by writing markup that is not valid, you are effectively relying on Bugs in the rendering engine for your design to work. and when some/all of the bugs in the engine are fixed (such as when IE7 was released) you then have to deal with making it look the same in multiple buggy engines, that handle the same thing differently.

if you're to ignorant to know how, and too stubborn to learn how to make a standards compliant page work in IE, thats your problem, but don't try to pass it off as good advice.
 
because you quite clearly dont understand the technology. its VERY possible to produce 100% standards-compliant code, that renders the same in MSIE. i do it regularly.

the whole REASON for having standards is that it works the same everywhere. yes MSIE makes things difficult, but not impossible.
by writing markup that is not valid, you are effectively relying on Bugs in the rendering engine for your design to work. and when some/all of the bugs in the engine are fixed (such as when IE7 was released) you then have to deal with making it look the same in multiple buggy engines, that handle the same thing differently.

if you're to ignorant to know how, and too stubborn to learn how to make a standards compliant page work in IE, thats your problem, but don't try to pass it off as good advice.


Well ok buddy, some of us are on this little thing called "billable time" and our clients don't want to hear about why it took twice as long to build a page because of some validation which they can't wrap their heads around.

Don't call me ignorant because I refuse to bill my clients for the time I spend working around M$'s mistakes.

If I could send a bill to M$ for the last time I had to go through and change all my embedded flash because of their latest active X change I would, but I can't. So in a world where I have to worry about microsoft I much more concerned with having a working page then something I can brag about to my geek friends because "ooh look, it's valid"

If you can honestly say that you have 100% valid code that works in IE then I commend you my friend. But don't discredit my work simply because I've chosen a different scope for my projects.
 
i got that problem fixed, now I have a new one. i'll upload an image asap. BTW: anyone know of a way that enables the :hover selector on any element while keeping css and xhtml valid?
 
Well ok buddy, some of us are on this little thing called "billable time" and our clients don't want to hear about why it took twice as long to build a page because of some validation which they can't wrap their heads around.

Don't call me ignorant because I refuse to bill my clients for the time I spend working around M$'s mistakes.

If I could send a bill to M$ for the last time I had to go through and change all my embedded flash because of their latest active X change I would, but I can't. So in a world where I have to worry about microsoft I much more concerned with having a working page then something I can brag about to my geek friends because "ooh look, it's valid"

If you can honestly say that you have 100% valid code that works in IE then I commend you my friend. But don't discredit my work simply because I've chosen a different scope for my projects.

It doesn't take twice as long. Build a site testing it in the the most standards-compliant browsers (Safari and Firefox), fix any unintended validation errors, then add a few lines of code in an IE stylesheet to fix the rendering bugs. It's not like you have to write the css twice. Adhering to web standards and making sites work in IE 5.5/6 is not so hard these days.

And there's a big difference between purposefully not passing validation and just not caring about validation. Having a few consistent validation errors because you purposely chose to write markup a specific way for a reason is one thing. Having lots of warnings and errors because you never bothered checking or fixing any errors is irresponsible as a web developer/designer.
 
Well ok buddy, some of us are on this little thing called "billable time" and our clients don't want to hear about why it took twice as long to build a page because of some validation which they can't wrap their heads around.

Don't call me ignorant because I refuse to bill my clients for the time I spend working around M$'s mistakes.

If I could send a bill to M$ for the last time I had to go through and change all my embedded flash because of their latest active X change I would, but I can't. So in a world where I have to worry about microsoft I much more concerned with having a working page then something I can brag about to my geek friends because "ooh look, it's valid"

If you can honestly say that you have 100% valid code that works in IE then I commend you my friend. But don't discredit my work simply because I've chosen a different scope for my projects.

hey im a contractor. i get paid by the hour. but if you can't a) explain to your clients WHY they need validation, or b) understand the browsers and how they behave, so that it does not take twice as long to fix, maybe you're in the wrong business "buddy".

who's bragging to geek friends about validation? i produce a product for the client that i can GUARANTEE is standards compliant. if a browser needs extras for it to render properly, thats what they should be. EXTRAS, targeted to that browser.
 
Are you using an unordered list for the menu? It's pretty hard to help without seeing the code. Post the relevant XHTML/CSS and we can probably see what's causing it.

Also, no offense, but you shouldn't be charging a client for web design if you don't know how to make things work in IE. That's a necessary evil of this job. You should take some time and learn the quirks and tricks before you sign a client. That's not fair to them.
 
Well I'm sorry kids, but in the M$ world I still see validation as a "nice to have" but at the end of the day not needed aspect.

Yes, start with the assumption that your going to have a 100% valid page that will work in every browser, but then get your page validated, open it in IE and "oh look, once again IE has broken with valid code and mark up, ok, let's go and make this work"

I still stand by my original opinion that cross browser compatibility is more important than W3C validation.
 
Anyone interested in a brief description of validation for us non-web types? I would also find learning what the IE issue is interesting. I could look it up, of course. But, the dynamics of this group is also entertaining.
 
what does validation get you?

nothing.

what does cross compatibility get you? a paycheck and less phonecalls.

/signed

again. proves little to no understanding of what the web is and how it works.

what do you use to check "cross compatibility"? IE, Firefox, Safari and MAYBE opera? what about the other browsers out there?


maybe you anti Validation NAZIs should read this:
http://validator.w3.org/docs/why.html
 
Well, since 75% of this thread has no relevance to the OP's question, I guess I'll answer this question:

Anyone interested in a brief description of validation for us non-web types? I would also find learning what the IE issue is interesting. I could look it up, of course. But, the dynamics of this group is also entertaining.

In a nutshell:

Validation is a webpage that abides by a set of standards laid out by the W3 Consortium -- the people responsible behind writing the HTML and CSS specs, among many other things -- for which browsers base their rendering engine.

Of course, this never stops companies from doing their own proprietary thing that sit beside the standards (like the <marquee> tag), and of course different companies interpret the standards in different ways. These are called browser quirks, and it leads to what you see here... to bypass these things, many sites implement forked CSS sheets, javascript implementations or even legacy components that are known to render well (tables vs divs). Others create a site that abides by the standards to a T, and then implement "hacks" to get it to work in older, less-compliant browsers, such as IE6.

The debate is which is a better method, and it usually devolves quite quickly. To use an analogy, it usually tends to mirror a typical Macintosh vs PC "debate."
 
again. proves little to no understanding of what the web is and how it works.
maybe you anti Validation NAZIs should read this:
http://validator.w3.org/docs/why.html

well I think we're going around in circles here, so rather than degrading into any more insults of "you don't know what your talking about" let's just call it a day.

Some of us feel that Validation is an absolute need.

Some of us feel that Validation is a nice to have.

But I think we can all agree that if IE would just follow the standards set by the W3C we'd all be in better shape.

g'day
-j
 
Also, no offense, but you shouldn't be charging a client for web design if you don't know how to make things work in IE. That's a necessary evil of this job. You should take some time and learn the quirks and tricks before you sign a client. That's not fair to them.

This is my first ever client. My mum came home a week or two ago saying that she has a website job for me. I wasn't offering to make websites. Anyway, it is a family friend and she says she doesn't really care how long it takes. BTW: I like to keep my code valid because when newer browsers come along that possibly don't like unvalidated (x)html, i am ready for them.

mrogers: yes I am using an unordered list. the html is:
Code:
<div id="nav">
				<ul>
					<li id="current"><a href="#">Home</a></li>
					<li><a href="#">Projects</a></li>
					<li><a href="#">Enquiries</a></li>
					<li><a href="#">Contact</a></li>
					<li><a href="#">About</a></li>
				</ul>
			</div>
and the css is:
Code:
#nav ul {
	list-style-type: none;
	padding-top: 99px;
	
	border-bottom: 1px solid #8c1000;
}

* html body #nav ul {
	padding: 0px;
	float: left;
	padding-left: 240px;
}

#nav ul li {
	width: 75px;
	margin-left: 2px;
	display: inline;
	float: left;
	text-align: center;
	height: 20px;
	padding: 10px;
	border: 1px solid #8c1000;
}

#nav ul li:hover {
	background-color: #991200;
	border-bottom: 1px solid #570a00;
}

#nav ul #current {
	background-color: #991200;
	border-bottom: 1px solid #570a00;
}

#nav ul li a:link {
	text-decoration: none;
	color: #ffff33;
}

#nav ul li a:visited {
	text-decoration: none;
	color: #ffff33;
}

#nav ul li a:active {
	text-decoration: none;
	color: #ffff33;
}
 
ok, like i said. keep things simple. why do you have a DIV around your navigation UL? you can apply the same CSS to a UL as you can a DIV.

also, you can combine some of your CSS to make it simpler, and smaller (will make a difference once the file has a couple hundred definitions in it.

instead of
HTML:
#id1 .class1
{
color: #FFFFFF;
}

#id1 .class2
{
color: #FFFFFF;
}

try this:

HTML:
#id1 .class1, #id1 .class2
{
color: #FFFFFF;
}
 
I have the div because the positioning wasn't working when I was moving the ul. BTW, thanks for the tip. I was going to do that, but I heard IE doesn't (again...) support it. I must have been tired.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.