3

I recently enabled the dynamic menu functions for my SharePoint 2010 site by following the directions from this Microsoft TechNet page. The problem I am running into now is that when you hover over the Quick Launch link, the resulting group of links appears with a transparent background which can be impossible to read if there is text on the main portion of the page.

Is it possible to change the flyout menu's background? And if so, how?

7 Answers 7

2

Bob - This is not so much an answer as a point in the right direction. I don't have the menus enabled so cannot tell you exactly what tags to look for. What you need to do is use the IE Developers Toolbar or a similar tool to identify the style associated with the background color on the menu. Then using jQuery, you can write a few lines of javascript to change the color when the page is loading. The script would be similar to this: http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_css_change_p.

The jQuery can be added to your master page, or added in a hidden content editor web part on your page.

3
  • What kind of event should I try to set the background color to? On document load, when the parent item is highlighted, etc?
    – Psycho Bob
    Aug 23, 2010 at 19:19
  • 1
    This function fires when the DOM is loaded: $(document).ready(function(){ } If it is a one time thing (page load), you would want to code it in this method. I haven't looked at the flyout menu in detail, but I'm assuming it is doing a transformation on hover. If so, then setting the background color in the function mentioned above should be fine.
    – Rob Wilson
    Aug 23, 2010 at 19:30
  • 1
    Finally got it working by changing the background color of the Unordered Lists with 'dynamic' set as the class. Thanks for your help!
    – Psycho Bob
    Aug 31, 2010 at 20:47
2

I think pure css would be a much lighter approach for a similar result. For example:

<style type="text/css">ul.dynamic {background-color:lightblue!important;}</style>
1
  • I think you are probably right that just editing the CSS would have been the easiest way. Though setting up jQuery now will enable us to use it for other things down the road.
    – Psycho Bob
    Sep 7, 2010 at 16:58
2

I got this to work by editing the corev4.css and adding the background-color element to

.s4-ql ul.root ul > li > a{

1
  • This css worked for the background of the flyout on the Quick Launch. Added to custom master page. Jul 22, 2011 at 14:09
1

I'm just providing the code here in case anyone is looking for a 'copy and paste' solution.

$(document).ready(function(){
     $("ul.dynamic").css("background-color","COLOR");
});

EDIT: I should have stated that I accomplished this by using jQuery.

0

I placed a call to Microsoft and their answer was to edit the v4.master. they created the following code and placed it in the top section at the end of section titled "head" starting at line 34 this is the code they provided:

<style>
.menu-item
{
background-color:white;
}
</style>

you can change the color to match the color of your site. Once you have made this edit just check the page back in and approve it. This will put a border around the entire flyout menu not just the individual items, it make the flyouts look like the top navagation menu.

0

This works

/* the submenu background color on hover */
.s4-tn li.dynamic > a:hover {
    font-weight:normal;
    background-color: yellow;   
}

but I can't change the text color on hover...and yes I have tried color: green !important;

Any ideas?

1
  • foreground-color: green;
    – Mike
    Nov 30, 2012 at 18:45
0

This is how I'm doing it in corev4.css (located in hive):

.s4-ql ul.root ul > li > a{
padding:3px 4px 4px 10px;
border-width:1px 0px;
border-style:solid;
border-color:transparent;
/* Added */ background-color:#0099ff;
/* [ReplaceColor(themeColor:"Dark1")] */ color:white;
overflow-x:hidden;
display:block;
zoom:1;
}

.s4-ql ul.root ul > li > a:hover{
/* [ReplaceColor(themeColor:"Accent1-Darker")] color:#44aff6; */ color:white;
/* Added */ background:#ccebff url('http://my.sharepoint.com/Images1/Menu_Hover_Background.png') repeat-x left top;
/* Replaced text-decoration:underline; */  text-decoration:none;
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.