Thursday, September 16, 2010

Hide First Tab in SharePoint 2010 Navigation

I created a blog post on this for SharePoint 2007 HERE: But SharePoint 2010 is a bit more complex. Since it uses UL’s and Li’s for it’s navigation it is a bit harder to hide just one element.

image

You will notice that the Home tab actually is the first node and then has a child UL which represents the rest of the navigation Items. So the approach is to hide the first <li> <a> (display: none) and then simply just use (display:block ) to show the hidden <ul> <li> <a> tags.

Here is the CSS you could use to hide just the first node (home) tab in a SharePoint 2010 application:

.s4-tn li.static > a{
display: none !important;
}
.s4-tn li.static > ul a{
display: block !important;
}

image

Enjoy!

15 comments:

Taylor Pilewski said...

I'm having a hard time determining what code to replace in the css file.

Could you be more specific about what to replace?

Or do you mean that I should just add that code from your post to the css file all together?

Just looking for more specific direction.

Thanks! :)

Anders Sylvest said...

Hey Taylor.

Yes, you should just add the code to your CSS file. The rules will override the rules in SharePoints default stylesheet. :-)

Anders

c_marius said...

Hi, SharePoint controls used for menus, navigation bars, etc. have parameters that control the Sitemap and navigation controls, including level to show, 1st element!
Have you considered that already?

Abhishek Agrawal said...

That is what I was looking for,Thanks a lot for posting this.Its saved lots of time and frustation.

Matthias said...

Hi! That's great! But I also need to choose 3 other top-navigation links to show them on a different place. How can I select them?!

تهاني said...

Thanks a million

agitprop said...

@c_marius

SP2010 uses the Sharepoint:ASPNet navigation control, which doesn't have all the properties you've mentioned. There are blog posts out there that show how to emulate SP2007 behavior by using legacy controls.

Walter said...

I'm interested in forcing all top level navigation tabs to be the same width and "wrap" the text within the tabs. Any suggestions?

Anonymous said...

I placed it in a cewp. This hides the just the title right above the navigation menu (quick launch). Awesome. Thank you!!

Replace regular parenthesis with greater or less than brackets:


(style)
.s4-tn LI.static > A {
DISPLAY: none !important
}
.s4-tn LI.static > UL A {
DISPLAY: block !important
}(/style)

ritu said...

Thanks This is working when i paste this same on my css.

Anonymous said...

For 2013 Preview

header nav ul li > a {
display: none !important;
}
header nav ul li ul li > a {
display: block !important;
}

and are my containers for the menu (html5). Using structure navigation.

Anonymous said...

Unfortunatley this doesnt work either.. it seems that pasting the code it has issues with the greater than less than. if you are using sp designer can you state exactly note for note how and where to paste this so that it would actually work?

Tim Whitchurch said...

Only works if publishing is activated on the site collection. Won't work with SPF 2010.

Vaqar Hyder said...

Works like a Charm. Thanks for sharing. it only works if you are working with a publishing sites.

Wiluyaningtyas Wijayanti said...

Thank you. it works!