I have a table having white background.and a <a> tag inside it which is invisible due to the backgroud as the color of <a> is also white in the coressponding css file.
Now when I applied css to <a> tag color in the file for changing white color, it not working in IE7 but working fine in IE6 and firefox..
Well, some other part of your code elsewhere is breaking the system, because I just made a test page using your code, and the colour was applied the same in FF and IE7, exactly as I expected it would.
I also stuck a link outside your table, gave it a different color and it worked too.
Do you have a sample page online where we can look and see what else is going on?
PS You are not really using tables for layout purposes, are you??? That is literally soooo last century. Tables are for tables of data, not layout control. CSS is for styling, including the size and position of divs, and thus for layout control.
What the hell is that? A nested table in a table header cell?? Why on earth are you doing this? You use th and td without thead and tbody. I really can't see what benefit you get from the outer table - is it for layout? If so listen to the previous poster and buy a book on XHTML/CSS. Your 'a' elements should be listed correctly with LoVeHAte (link;visited;hover;active) order - listing just the a element is asking for trouble. You may find that declaring your element in full may help: table.tableWhite tr td a.
You've also backslashed your tag attributes. This isn't a js/php (etc) string to be parsed, so you don't need to do that. This could mess up a lot of things.