Register now or login here to start promoting your blog and your favourite articles.
5 Techniques to Style Buttons using Images and CSS
13 Oct 2009 - 6 Comments
Learn all the common ways to style a button. This tutorial will show how to create a search engine friendly, customizable, and expandable button and also style buttons with CSS sprite.
Author: kevin | Source: queness
Demonstration Download

1. Normal Image Button with Link

This would be the easier way to make an image button. Basically, we just have to create the image and wrap it with anchor tag.

Download
<a href="#"><img src="btn_red.gif" width="228" height="49" alt="Download"/></a>

2. Image Button + Search Engine Friendly

This is the most commonly used by most people. Instead of wrapping the image, we wrap the text and using CSS to style it. We need to set the width and height and most importantly, use the text-indent to hide the text link.

Compared with the first one, it looks exactly the same, but if you disabled css, you will see the difference.

Download
<a href="#" class="btn1">Download</a>
a.btn1 {
	display:block;
	width:228px;
	height:49px;
	background:url(btn_red.gif) 0 0 no-repeat;
	text-indent:-999em;	
}

3. Image Button + Search Engine Friendly + CSS Sprite

This button combine the technique we used previously and also further enhance with CSS Sprite to create the hover effect. CSS Sprite is a very efficient way to reduce the amount of HTTP request to the server and it's used by most famous and high traffic websites such as apple and digg. For more about CSS Sprite, you can check out my previous post - 15 Ways to Optimize CSS and Reduce CSS File Size

So, this time, we will use the pseudo name :hover for the anchor tag, on mouse hover, it will change the background position (flip it to other image).

Download
<a href="#" class="btn2">Download</a>
a.btn2 {
	display:block;
	width:228px;
	height:49px;
	background:url(btn_sprite.gif) 0 0 no-repeat;
	text-indent:-999em;	
}
	
a.btn2:hover {
	background:url(btn_sprite.gif) 0 -51px no-repeat;
}

4. Image Button + Search Engine Friendly + CSS Sprite + Custom Text

The fourth one, instead of embed text to the image, we remove it and create an empty image. The benefit of this is, you don't have to create different buttons with different captions on it. We will make it customizable by removing the text-indent and adding extra styling to the font.

Download
<a href="#" class="btn3">Download</a>
a.btn3 {
	display:block;
	width:228px;
	height:49px;
	background:url(btn_sprite_blue.gif) 0 0 no-repeat;
	text-align:center;
	font-size:24px;
	font-weight:700;
	text-decoration:none;
	color:#fff;
	font-family:arial;
	line-height:35px;
}
	
a.btn3:hover {
	background:url(btn_sprite_blue.gif) 0 -51px no-repeat;
	color:#666;
}

5. Image Button + Search Engine Friendly + Custom Text + expandable

Lastly, an expandable image, but this time, we will not able to use CSS Sprite. In IE, we can't use :hover in span, we can only use it on anchor element. So, we will have to remove it.

We are using a span and inside the span will be the anchor tag.

This Button Will Grow!
<span class="btn4"><a href="#">This Button Will Grow!</a></span>
	span.btn4 {
		background:url(btn_green_left.gif) 0 0 no-repeat;	
		padding-left:34px;
		text-align:center;
		font-size:24px;
		font-weight:700;
		font-family:arial;
		line-height:35px;
		display:block;
		height:49px;
		width:300px;

	}
	
	span.btn4 a {
		background:url(btn_green_right.gif) top right no-repeat;	
		padding-right:34px;	
		text-decoration:none;
		color:#fff;
		display:block;
		height:49px;
	}

	span.btn4 a:hover {
		background:url(btn_green_right.gif) top right no-repeat;	
		padding-right:34px;	
		text-decoration:none;
		color:#799e35;
		display:block;
		height:49px;
	}
Demonstration Download

Final words

I hope this article will help you all. Please bookmark it, share it and spread it to the rest of the web designers and developers! :)

Copyright & Usage

The effects and techniques demonstrated in tutorials on Queness can be used in whatever manner you wish without attribution. You cannot copy whole tutorials (unless permission is given), either in English or translated to another language.

Share This Post to Support Me! :)


Comments

Color Business Card on 21 May 2010 says:
Wow! these are very affective call to action buttons! I'm sales will boost in no time with that kind of CTA button!
John on 17 Oct 2009 says:
Your tutorial is flawed. For those anchors to be search engine friendly you should have included the \"title\" attribute to them to describe where they are going, thus making them more relevant to search engines.

Also when styling the \":hover\" state of your anchors there is no reason to double up on CSS properties. All you are doing is creating a larger CSS file that will require more resources so load on the client browser and serve the client from the server.

(e.g. - if you assign \"text-decoration: none\" or \"padding-right: 34px\" to your anchor there is no reason to assign that same property to the hover state since CSS works in hierarchy fashion, meaning it will inherit the previous states properties.)

It might sound nit picky, but when you build a site that delivers over a million page views a day those few extra KB of data REALLY start adding up.
Dusty on 15 Oct 2009 says:
Here is one i did that works niceley with .net web controls
http://laymensterm.blogspot.com/2009/10/expandable-image-button.html
Fredrik Lind on 15 Oct 2009 says:
Cool buttons, but it would be cooler with an active state also.
web2000 on 13 Oct 2009 says:
Good article. I like how you went from least flexible to most flexible as you went down the list. Maybe you can do a follow up post to show how to style buttons in forms?
Inside the Webb on 13 Oct 2009 says:
Awesome list, and really easy to follow tutorials. Thanks for the post!
  • Page :
  • 1


Leave a comment

Subscribe RSS Subscribe RSS, Keep yourself updated with queness latest posts!
Pixel Crayons

Buy wholesale computers directly from China at DHgate.com

Discover the tools to build your e-Commerce Site with Netfirms

Buy China Products from Made-in-China.com

Cocktail Dresses

SmartPhone Cell Phone

Wholesale electronics

Web Hosting Rating

Buy WOW Gold

Get your cdl today

Debt collector review

  •  
  •  
  •  
  •  
  •  

Community News

Recent Comments

Random Posts


View all posts and news Back to top

About the Author

A web designer and developer who is passionate and keen on contributing to the web development industry. Feel free to say hi to me, or follow me on twitter.

Kevin Liew