views:

906

answers:

4

On my site, I'm using the JavaScript Tabifier to create tabs

In Firefox, the tabs have a top border (as desired).

In IE 6/7, the tabs do not have a top border, even though I have border-top defined for the appropriate CSS property (ul.tabbernav li a).

Any CSS ideas as to why Firefox has the top border but IE does not?

UPDATE

Per comment below, the page now w3c validates BUT I am still experiencing the CSS issue as originally outlined.

UPATE 2

Yes, I'm aware IE 6/7/8 does not support border-radius but I have removed that property and explicitly defined border-top and the border-top is still not displaying for IE 6/7.

+2  A: 

It looks like you're using curved borders. IE 6 and 7 don't support curved borders. I think IE 8 does.

Create an IE-specific stylesheet and change the way you create the borders here.

<!--[if IE]><link rel="stylesheet" type="text/css" href="/public/stylesheets/ie.css" /><![endif]-->

You can either display regular borders or remove the borders and create a background image to make it look like there are curved borders.

marcgg
No curved borders in IE 8, I'm afraid.
Nick Presta
Yes, I am using curved borders but should IE still display the top border regardless?
TimJK
It's displaying the left and right border just fine but not the top border.
TimJK
Since it's not supported there's a high chance of everything breaking altogether. Try removing it a test if it's working
marcgg
If you notice in the CSS for 'ul.tabbernav li a', I even explicitly tell IE to display the border-top and it's still not
TimJK
@marcgg, I tested removing all 'radius' attributes and IE 6/7 still didn't display a border-top. Only left/right borders. Very strange
TimJK
I see this: border-style: solid solid none, try changing it to border-style:solid;
marcgg
@marcgg, where do you see border-style: solid solid none? what code line since when I do a search for that, I don't find it in my index.html
TimJK
@marcgg (thanks in advance for your help so far ... hoping you can help pinpoint this problem) :)
TimJK
I see that on "ul.tabbernav li a" using firebug
marcgg
I added "border-style:solid" to "ul.tabbernav li a" but in IE 6, that doesn't fix it. You can see it live at the link in the original post. Again, thanks for helping so far. We are getting close
TimJK
It's working fine in IE7 now. I only have IE 7 here so I'm not sure how I can help you more.Try looking up if you have IE6 specific styles ( starting with _ )
marcgg
oh nevermind it's not working in IE7 :\ I was looking it up in safari for some reason. I don't really have any more ideas here. triple check any IE specific things and border related styles
marcgg
Nope, no ie hacks like using the underscore (_). Thanks marcgg for you're help. Hopefully someone else can figure it out. I'm at a loss
TimJK
damn. well good luck with that, sorry I wasn't more helpful :)
marcgg
A: 

I haven't got IE with which I can test at the moment; but is there a chance of the borders being outside of the height of the containing div (.tabbernav) and hidden with an overflow rule elsewhere?

On the off chance, you might want to try addding overflow: visible to the .tabbernave class. That or increasing it's height, and reducing the height of the .tabbernave lis.

David Thomas
A: 

Eather add margin-top:1px; to ul.tabbernav

or

padding-top:1px; to div.listingTabs

I know this is an IE error but Firebug in FF can still help. If you inspect your ul or the div you will see the ul is outside of the display area of the parent div.

NerdyNick
A: 

Try setting the line-height for those. I had an extremely similar issue in ie7 once, except it did not show both the top and bottom borders. They were actually being cutoff.

line-height: 22px;

Not sure about the exact height that would work for you here, but try it out.

mrinject