You need to add that negative margin adjustment in a conditional comment style sheet that only IE can see. As you've applied it, Firefox, Safari, et al, also see that, which causes the tabs to be clipped in those browsers.
As far as why IE needs that adjustment, this has to do with an internal IE algorithm called "layout". It's a fairly complicated topic, but it boils down to, there are some bugs in the way that IE calculates an element's dimensions. An element's dimensions are dependent on that element's parent, and so on, in some cases. For instance, if you include a <div> element as the one and only element in an HTML document, that <div> is a block-element, by default. Its dimensions, its width, is expand-to-fit, by default. That width is determined by the width of the <body> element, and the width of the <body> element is determined by the width of the <html> element, whose width is dependent on the width of the browser's viewport.
Still with me? In IE, this "layout" algorithm keeps track of the <html> element's dimensions, so it doesn't have to recalculate the <div> element's dimensions. The <html> element in this example becomes a reference point for all subsequent dependents.
There are some circumstances that trigger a recalculation of layout, that is to say, that will trigger a new reference point to be established. When this happens in IE, the element is said to acquire layout. A height or width other than "auto" tiggers layout, in addition to several other properties.
To fix the bug that you saw, you can either fix by causing a new reference point to be created (cause the right elements to aquire layout), or you can just fix it in terms of what's wrong (adjusting the margin). Since adjusting the margin is as much work, I just do that in this case, since it's more intuitive to see what's going on in the style sheet that way.
That's just a synopsis of what's going on. To learn more about this you can visit the following, which go into much more detail than I have.
http://www.satzansatz.de/cssd/onhavinglayout.html
http://msdn.microsoft.com/library/de...ie20050831.asp
http://msdn.microsoft.com/workshop/a.../haslayout.asp
Regarding centering the tabs, you're already on the right path, margin: auto; on the containing <div> element. It just appears that the measurements are off a bit. You can either add an intermediate <div> between the menu <div> and the tabs, and apply a smaller width (than 650 pixels, representative of the cumulative widths of each tab, margin + borders + padding + width) and margin: auto; to that, or you can increase the left and right margin of each menu link by a single pixel, which seems to balance things out. text-align: center; does not center block elements, it only centers text (not-withstanding the IE bug that does center block elements using that property). align="center" is legacy, presentational HTML, and should be avoided. But it can be done using the technique that I just described.
HTH!
Regards,
Rich
--
Author,
Beginning CSS: Cascading Style Sheets For Web Design
CSS Instant Results
http://www.catb.org/~esr/faqs/smart-questions.html