Back in this post I referred to people saying that Thesis sites are too easily recognizable – and the fact is, in many cases it’s true. But it doesn’t need to be.
One of Thesis’ more easily recognizable features is its navigation menu, or navigation bar, so today I’ll cover some simple ways to change the way it looks.
Way back in version 1.6 a lot of design features were released, which enabled you to choose and change the colours of your navigation bar and menu tabs simply and quickly.
You can do all this through the ‘Fonts, Colours and More!’ section of the Design Options page. Just click on the Nav Menu item and experiment to your heart’s content. More details here.
But, in addition to the colours, there are two other things you can change that will make a difference: the font in your Nav Menu and the use of a background image.
Navigation Menu Font
Doesn’t sound like much, I know, but one of the first things I recognize about a Thesis site is the Nav Menu font. It’s quite distinctive, and many people never bother to change it.
So here’s how to do that.
Go to your Thesis Custom File Editor and add this code to your custom.css file:
.custom .menu a { font-family: arial; font-weight: bold; letter-spacing: 1px; text-transform: none; }
.custom .menu a:hover { font-family: arial; font-weight: bold; letter-spacing: 1px; text-transform: none; }That will result in the font on your navigation bar being changed to arial bold, with the letter spacing being reduced to 1px and the text being displaid in the same way you write it.
Of course, you can use whatever font or spacing you like!
So once you’ve added that code and seen the difference, start to experiment with different fonts and spacing until you find settings that you like.
And if you need to change the colour of the font on hover, simply add color: #hexcode; inside the squiggly brackets that follow the .custom .menu a:hover selector. You’ll need to replace ‘hexcode’ with the 6 digit code for the colour you want.
Navigation Menu Background Image
Another simple way to change the appearance of your Navigation Menu is to give it a rounded look by adding a background image – which is what I’ve done to the Navigation Menu on this site.
So here’s how to do that…
Create a small gradient image. It needs to be as small as possible but, usually, it needs to be the same height as your navigation menu bar.
The size of the background image I’ve used on that site is 15px X 28px (the height of the navigation bar).
To create a rounded look you need to make your colour gradient go from light (top) to dark (bottom).
This first image will be used as the background for the entire navigation bar and the individual tabs.
Next we need to create a background image for when you hover over a menu item.
I find the easiest way to do this is to simply reverse the colours I used in creating the first image.
So instead of your gradient going from light to dark, make it go from dark to light, which will give it a concave look.
Once you’ve created your two images upload them to your server and make a note of their URLs.
Next you need to add this code to your custom.css file:
.custom .menu { background-image: url(http://www.yoursite.com/your-images/small-image1.jpg); background-repeat: repeat-x; }
.custom .menu a { background-image: url(http:// www.yoursite.com/your-images/small-image1.jpg); background-repeat: repeat-x; }
.custom .menu a:hover { background-image: url(http:// www.yoursite.com/your-images/small-image2.jpg); background-repeat: repeat-x; }(Remember to use the URLs of your images, and note that the code for .menu and .menu a is the same, and that the a:hover image has a different filename!)
Because you’re making small images they’ll load quickly, without compromising page load time.
The background-repeat: repeat-x; command tells the browser to repeat the image for the full width of the div that it’s in.
And if you want to customize both the font and the background image all you need to do is combine those two snippets of code: copy the code from inside the squiggly brackets in the first .custom .menu a section and paste it into the squiggly brackets in the second .custom .menu a section, immediately following the repeat-x; statement.
And do the same for the .custom .menu a:hover sections.
That’s it – two easy ways to make your navigation menus look less like Thesis.
Once you’re comfortable with making those changes start experimenting until you get the look you want.
Cheers,
Your details are safe with me.
My Privacy Policy.



{ 22 comments }
Nice tutorials, thanks for the share. It helped me to customize my nav bar.
You’re welcome,
Cheers,
Martin.
Hey i am working on my website with Thesis Theme
I want to use my images in the nav
is that possible ?
Hi Nick,
Yes – perfectly possible – I used images in the Nav bar of the site I linked to above. You just need to make them as small as possible and add the repeat-x attribute to your custom stylesheet so they don’t take an age to load.
Cheers,
Martin.
Hi Martin,
Thanks for the sharing valuable lessons.
I’m trying to add image buttons onto my Nav bar (much like http://everwell.com/). Would you be able to show me how.
Thanks,
Noel
(from the sunny island of Singapore)
Hi Noel,
They’ve made each menu item a separate div, with its own id.
What you see on the menu are images, one for each tab, which have been specified as background images in one of their stylesheets.
Cheers,
Martin.
Hi Martin,
Thanks for the tip. I tried doing it on this website and it worked well. But you can see the images because I shifted it to the left of the menu titles.
But now, how do I make the menu width wider and also increase the height of the Nav bar?
Cheers,
Noel
You’d make those adjustments in your custom.css file – you can install and use Firebug for FireFox to be sure of finding and editing the correct CSS elements.
Cheers,
Martin.
Thanks Martin.
I’m still new at CSS, so I’ll figure it slowly.
Merry Christmas and happy new year!
Thank you very much Martin, it worked like a charm for our new blog.
Excellent – and you’re very welcome !
Cheers,
Martin.
Hi
This is exactly what i’ve been looking for, however if i want to use a unique font do i have to upload the font first before the code will work? and if so how and where do i do that? I am a complete novice with coding etc.
Great tutorial!
Hi Michelle,
Have you checked the fonts that are available in the Thesis design options screen..? There are lots there, including 20 new web-specific fonts recently released by Google (as long as you’re on Thesis 1.8).
If none of those work for you, then you may need to use an image – i.e. create the menu items with a graphic font maker and use those as images in your menu.
I would not go that route, though, because the images will take longer to load and will not be at all helpful to the search engines – which means poorer SEO on your site. I would stick to one of the fonts that are available in the Design Options screen.
Cheers,
Martin.
Thank you! This got me so very close to the nav menu that I’m aiming for.
You’re welcome – glad it was helpful
Cheers,
Martin.
I love the way you made this so easy to follow thank you for that. My question is when I added a page to a parent page the drop down menu doesn’t work. I can see the page but it is not clickable. It is on my site http://always-evolve.com/ and the parent page is the core values. Any help would be greatly appreciated.
Joe, hi,
I see they’re named as test pages – do you have any content in them and have you published them?
Cheers,
Martin.
Yes I did they have content and they are published and also checked in thesis
You need to look at your permalinks. The URL of your test page is:
http://always-evolve.com/?page_id=107But, because it’s a sub page of Core Values, the URL should be:
http://always-evolve.com/core-values/?page_id=107I suggest first step is to set permalinks in your permalinks settings to one of the non default ones, so you’re getting the post or page title into it. Then make sure your test page has Core Values as its parent on your Test page settings (over to the right of the edit box).
That should do it, but you may need to delete those two sub pages and re-do them, making sure they’re child pages to Core Values.
Cheers,
Martin.
First of all thanks so much for taking the time to try to help me i am very grateful to you for your time.
I tried a few different settings and changed the permalinks then I redid the pages also and it still didn’t work. I can see them when I hover but when I try to go to them its a no go.
this is what I have in my custom css
.custom .menu a { font-family: arial; font-weight: bold; letter-spacing: 1px; text-transform: none;
}
.custom .menu a:hover { font-family: arial; font-weight: bold; letter-spacing: 1px; text-transform: none;
}
.custom .menu { background-image: url(‘images/nav1.jpg’); background-repeat: repeat-x;
}
.custom .menu a { background-image: url(‘images/nav1.jpg’); background-repeat: repeat-x;
}
.custom .menu a:hover { background-image: url(‘images/nav2.jpg’); background-repeat: repeat-x;
}
Hmm…
The problem is not going to be caused by your custom CSS – that only affects styling, which is working exactly as per the code you’ve put above.
You’ve now got the same page (../test-2/) as a child page to both Core Values and Contact us. Make sure it only has one parent page.
Ok I will troubleshoot it some more in the morning. So another site I tried it on and they work well except if I am on the parent page and there is a dropdown the image that I uploaded doesn’t show. When I am on the “about” page the sub dropdown just reverts to the original thesis settings. Here is that site http://pinkiguanadigitalmuses.com/
I am thinking that it has something to do with the parent page and there is no “.custom hover parent” or something.
Comments on this entry are closed.
{ 1 trackback }