I'm going nuts trying to figure this out. Here's my overall problem... CSS is a bit funny in that the order in which classes appear in the "class" attribute is less important than which class within that attribute appears last on the page. So (psuedo to save space):
<style>
.A{background-color: red;}
.B{background-color: green;}
</style>
<div class="A B" /><div class="B A" />
Will always make green divs, try it for yourself if you don't believe me.
How this ties back to the subject is that the menu control puts it's styles *just above* the </head> tag, so it always looks like:
<head>
<!-- All of my static and dynamic stuff -->
<style>/* Auto genned styles for the menu */</style>
</head>
One of the things in the autogenned code is "background-color: white;" and since that's at the end of the head tag, it always "wins" and I can't bloody override it!
So, my question is how do I override it?
I'm currently trying to write a server control inherited from the Menu Control, and then intercept where the styles are added, but I can't find where they're added!!! I've looked at the output from every render method... nothing. I've looked at this.Page.Header.Controls... nothing. I'm completely flummoxed!
I'd love to know where that code is generated, but I'll settle for any response that gets the job done (e.g. put my styles *after* the auto gen stuff).