ASP.net outputs HTML. ASP.net is a server-side technology and has no need to comply with a CSS standard. That is up to the browser. ASP.net doesn't provide the ability to add a CSS class to many of its controls, but in the end, it's up to the browser.
If what you are trying doesn't work, then there is a problem with the HTML that is coming out of ASP.net. I have used this technique many times for DHTML and have had no problem (once I worked out the javascript/dhtml bugs). Take a look at the HTML source in the browser and see if there is something interfering with the normal functionality of HTML and the CSS styles.
Peter
-------------------------
Work smarter, not harder