Hi everybody, i have been working with menu css control adapter of .net 2.0, but i'm having some troubles to use it. I have a vertical menu and in forward of the menu i have a swf file (Flash). what happens is that the menu it appears in the back of the swf file and it's menu subitems is unreachable. How can i fix it???? Please Someone ......
Thanks in advanced...
I had the same problem with my menu not displaying from my master page over the top of image in the content place holder, i got around this by putting the menu and the content in DIV with the correct Z-Index set and all was well after that, i would suggest wrapping the menu and SWF in the same and see how that goes.
I went through the demo, read the white paper, and in general understand how this works. I get what the adapter is doing and I understand all the moving parts. What I can never understand is IE6's implementation of CSS. I installed all the necessary files into an existing website and made my own css file to style up the Menu control and it all looks and works just as I would want in Firefox...and then I opened it in IE and not only does it triple the height of the containing DIV, but it completely disappears altogether and nothing I do, whether setting the z-index to 10, or making all the div's surrounding it have transparent backgrounds, can cause it to show up. So I am in a position where I can't even really start to debug it because I can't see what it is doing, which, you know really sucks. WHat do I have to do, completely backwards develop a website layout that I spent over a week putting together just so I can start to debug IE? Anyone have any good suggestions or run into this already? Thanks for any advice.
Ok, after some floundering around I got it working.
The problem was the conditional comment that told the browser to use a browser specific stylesheet for any IE version less than 7. For the demo site that browser specific stylesheet worked, and I assume was necessary to achieve the presentation they were after. This however was not necessary for my menu. I was able to code one stylesheet that worked for Firefox, Safari and IE6, so I ripped out that conditional comment because it wasn't necessary in my case.
So I guess as a general rule of thumb it makes more sense to start developing your stylesheet without any browser specifics and see how far you can go. If you can get it it all the way with all the browsers you are required to support, then you are good to go. If necessary deviate where necessary with styles here and there for specific browsers using the pattern demonstrated in the demo site. This of course is common sense when I develop stylesheets normally, but for some reason when I saw that demo with it's browser specific stylesheet for IE6 I incorrectly assumed I would need one too! Thats what I get for following the example a little too closely.
Anyway, I wanted to also say I think I am a bit of a fan of this pattern. I was never happy with the default way of setting all those properties in the Menu control server tag and digging through horrible nested table code to try to figure out how to write my CSS in the cases that the existing properties couldn't produce the desired presentation. This is probably how all of these web controls should have been implemented in the first place. They should all have sort of a default adapter. Sometimes I think the ASP.NET team designed with the idea of simplifying things a little too much so you can get some cheesy results really fast, but in doing so they end up making developers jobs more complex in the long run when meeting real requirements.
Anyway, better late than never. I love it so far. I will keep messing around with it and using it where I can. I look forward to the final implementation.
It's interesting that you found that the conditionally commented style sheet actually interfered with your rendering. I've never found that to be true before but I can certainly believe it could happen. Usually people start building menus by imitating how the menu was built in one of the kit's samples. Then they slowly modify the styles for that menu to make it look like they want. In such cases, you do want to retain the conditionally commented style sheet because it really is necessary. No one size fits all, obviously. So I'm glad that folks are posting the implemetation pattern alternatives. Good luck to you and everyone else.
BTW, problems with menus being behind things are sometimes due to a lack of position:relative on certain important parts of the DOM. Please consider what you see in this posting, http://forums.asp.net/thread/1518576.aspx.