I realise this is a controversial and unusual opinion to hold

I realise this is a controversial and unusual opinion to hold, but Microsoft Internet Explorer 6.0 sucks.

I've always believed IE to be lousy, what with the way it's made entirely out of security holes and by default allows ActiveX to run arbitrary code on your computer and is generally hopelessly inferior to Firefox. But until now I'd never experienced first-hand the horror of inadequate CSS implementation.

I'm trying to remove the existing "body { width: 700px; }" tag in my stylesheet (so that I can put stuff on the sides) WITHOUT either allowing the site's existing contents to change in appearance, or spending two days systematically re-coding all 350+ pages of HTML. This means basically instead of the body being restricted in size, I just make it so that everything within the body is restricted in size: headers, headings, text and footers.

But I can't just put "p { width: 700px }" because not ALL paragraphs should be that wide. The ones that are direct children of the body certainly should be. But the paragraphs contained inside tables or lists need to be smaller: in fact, for these it's better not to specify a width at all. But here's the thing. I SHOULD be able to do this.

According to the CSS documentation on pattern matching, in CSS2, you're supposed to be able to put "body > p { width: 700px; }" to specify exactly this. "body > p" means that only paragraphs which are the direct child of the body will be affected.

But MSIE doesn't support it.

Even though CSS2 is an international standard.