Skip to main content

Change SharePoint Search Icon with Just CSS

I created a post awhile ago on how to change the SharePoint site logo via CSS so that you don’t have to modify the titlegraphic.gif file on the file server or change it via the UI for every site to make a global change.

I have a simple solution that changes the search GO icon from the standard image to something more custom image with just CSS.

The icon is not specified via the master page so you will not be able to change it there.

<asp:ContentPlaceHolder id="PlaceHolderSearchArea" runat="server">
        <SharePoint:DelegateControl runat="server" ControlId="SmallSearchInputBox" />
</asp:ContentPlaceHolder>

You might be tempted take the route of changing the following files on the server and replacing them with your own custom ones. But I have an alternative that works just as well and you don’t have to mess with any of these base Image files.

  1. GOSEARCH.GIF
  2. ICONGO01.GIF
  3. ICONGO02.GIF
  4. ICONGO03.GIF

Upload your custom images to a sub folder within the following directory: C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\TEMPLATE\IMAGES\YourCustomFolder

Then in your custom CSS simply place the following CSS:

td.ms-sbgo{
background-color:transparent;
padding-left:3px;
padding-right:3px;
padding-bottom:0px;
padding-top:0px;
border:solid 0px #949494;
}
td.ms-sbgo a{
padding: 0px 0px 0px 0px !important;
margin: 0px 0px 0px 0px !important;
}

td.ms-sbgo a{
background-image: url(/_layouts/images/yourcustomfolder/custom_search.gif);
background-repeat: no-repeat;
background-position: top left;
}
td.ms-sbgo a img{
    visibility: hidden;
    height: 17px;
    width: 17px;
}

You will simply just have to change the folder name, image name, and the height and width of the image to be specific to you and you should be good to go. The result should look something like this:

image

Happy Customizing!

Comments

Anonymous said…
Nice trick, thanks! I did a quick test and the image did not render in Firefox, its just a blank space. Does this work for you in Firefox?
Divyadarshan said…
Hi,
Thank you.
In my case I get the image I want and then on top of it the get the default image.

Tried z-index, but no go.

Please help
Erik Swenson said…
Divyadarshan, Are you doing this for SharePoint 2007 or 2010?
Umesh Shebe said…
Thanks for solution, its perfectly working on SharePoint2010
Steve.O said…
I just wrote up my normal process for styling/skinning the SharePoint 2010 (MOSS) Search Box. It might be of some use to anyone reading this article looking for a walkthrough. Skin and Style the SharePoint 2010 (MOSS) Search Control - Labs.steveottenad.com. Thanks for the writeup!
Anonymous said…
For firefox add a line in
td.ms-sbgo a {

display:block;
}
Anonymous said…
Hi,
How to change the search button default text "Search the site" to some other test like "Search".
Please help me.
UK Plumbers said…
It's taken me a while to figure out how to remove the search icon as my custom one would just lay underneath. Thank you so much for the CSS. Looks perfect now.
Anonymous said…
this is perfectly working in sp 2010!
thanks!
Max said…
Thanks a lot - saved me a lot of time and is still standard!

Cheers
Max

Popular posts from this blog

SharePoint 2010 Base CSS Classes

This will be the first of many SharePoint 2010 posts. I will be focusing on a few of the main CSS classes used for SharePoint 2010 Public Beta. As the product becomes more final there might be some changes to the class names but I will be sure to create a new post if that happens. This will be quite a lengthy but it should be helpful. The default CSS given below are just highlights of the full CSS attributes for that class.I will be using a basic team site as my base for the screenshots. Here is a basic structure of the main areas that I will cover.Ribbon RowTable Row Left Site Actions Navigate Up Edit Tab List Browse Page Table Row Right Give Feedback Welcome Menu WorkspaceBody Container Title Row Title Title Logo Title Text / BreadcrumbPage DescriptionSocial Data SeparatorI like It Tags/Notes Top Header 2/Top Links li Static-Selected li Static SearchHelpStatus Bar Container Main A…

How To: Hide Left Side Navigation on Home Page

I was recently asked: "How can I hide the side nav bar on the main homepage layout ?? I want to be able to use the side NAV with in the team site etc etc, but I don't want it on the front page.. " There are a couple of ways to do this in SharePoint 2010. If you are using a non-publishing site you can add a Content Editor Web Part to the page and add the following to the HTML Source.
<Style>
body #s4-leftpanel
{
display: none;
}
.s4-ca
{
margin-left: 0px;
}
</style>
Basically the CSS above hides the left navigation Div, and then sets the content area to not have a left margin. Once you are done, simply modify the web part and hide it on the page. If you are using a publishing site for your homepage simply add the same styles specified above to a custom page layout. That way if you have a need for other pages that do not need the left side navigation you can re-use the page layout.

Small Calendar for SharePoint 2010 & 2013

First off I would like to apologize for the lack of posts. I have been really busy with my new role as the UX Design lead within Slalom Consulting Boston. I will share more about that in another post. In a previous post Create Really Small Calendar I showcased how to do this for SharePoint 2007. However the 2010 and 2013 calendar views have changed and therefore we cannot use the same method or CSS as 2007.SharePoint 2010 Small Calendar:
SharePoint 2013 Small Calendar:
See video below for a video walk through on how to create a small calendar for SharePoint 2010 and & SharePoint 2013 with just CSS.Per the video above here is the code that I referenced:2010 CSS link reference in Master Page:
<SharePoint:CssRegistration name="<% $SPUrl:~sitecollection/Style Library/smallcalendar.css %>" After="corev4.css" runat="server"/>2010 CSS:
/**** Small Calendar ***/
.ms-acal-item{height: 10px !important;}
.ms-acal-sdiv,
.ms-acal-mdiv,
.ms-…