I'd like to populate the contents with the results of an ASP query.
Ahhh...you didn't say that in the first post! I thought maybe all you wanted was to do something like <a href="index.asp"> which you didn't even need ASP coding to do.
Okay, this isn't hard. You just have to do it bass-ackwards of the way you were approaching it. You have to use ASP to *create* the CSS. Or perhaps its clearer to say you embed the HTML in the ASP code and then style the HTML via CSS.
You would almost surely want to do this with a single ASP file, not multiple ones. (You could use #include to involve multiple ASP files, but I see little advantage in doing so.)
So what do the individual submenu items look like??
<div class="header"><a href="index.html">First</a></div>
<div class="submenu">???? what HTML goes here ???</div><br/>
<div class="submenu">???? and I assume there might be any number of submenus ???</div><br/>
If you can show an example of a "fully loaded" menu with multiple submenu's we could help you convert it to ASP code.
And, yes, I do this all the time. Truly not hard. It's mainly a matter of taking an HTML page, changing the name to ".asp", and plugging in appropriate DB-based coding.
But start from HTML. Much easier.