Ok you have changed your Li’s from bloc I believe.
I think I did not explain myself very well. if you make Li’s block, then as block level elements they would need a width specified, otherwise the next one would be pushed below. e.g (li display block and float left would need a width specified cos if it was 100% the next LI would be below)
Ideally you would be better of specifying float left on the Li as you have done, then making li a block but use padding to get the tab to display as you wish and use left padding on your li which should contain the left rounded part of the tab image. You need to add float:left; to your li a otherwise in IE it will go full width. The following example will work for you and you should make your two images big enough to allow for text expansion
#header ul {
margin:0;
padding:10px 10px 0;
list-style:none;
}
#header li {
float:left;
background:url("yourleftside of the tabimage.gif") no-repeat left top;
margin:0;
padding:0 0 0 9px;
}
#header a {
float:left;
display:block;
background:url("yourmain tab image.gif") no-repeat right top;
padding:5px 15px 4px 6px;
text-decoration:none;
font-weight:bold;
color:#765;
}
I dont think there should be a need to use negative margins on background images unless I dont know what you are trying to achieve. The only thing to remember with this layout is that if you use the .here class you will need a way to add the main tab image to that link. li.here will allow you to set the alternative (say darker) left tab image but but you need to wrap something else inside the li such as a em tag so you can display the main tab image in the .here class is likely not to be a link. However there are several ways you could deal with this
Hope that helps