Single Image CSS Sprite-Slider Button

The internet is full of examples of buttons. Usually the ones I see use 2 or 3 images and CSS Sprites or Sliders or a combination of both. I wanted a single image button so I could decrease my HTTP requests.

First, I needed a button image. Below is a image I modified from this example. The image includes left, right, and center portion of button. The buttons are not perfect but this is just a proof of concept.

my button image

 

 

Next, using CSS, I made a button class that uses sprites and slider techniques.

.button {
	display: inline-block;
	height: 34px;
	background-image: url('button.png'), url('button.png'), url('button.png');
	background-repeat: no-repeat, no-repeat, repeat-x;
	background-position: left 0px, right -136px, left -68px ;
	background-clip: border-box, border-box, content-box;
	-webkit-background-clip: border-box, border-box, content-box; /* Safari */
	padding: 0px 20px 0px 20px;
	color: black;
	font-family: Arial;
	font-weight: bold;
	line-height: 34px;
	text-align: center;
}
.button:hover {
	color: white;
	background-image: url('button.png'), url('button.png'), url('button.png');
	background-repeat: no-repeat, no-repeat, repeat-x;
	background-position: left -34px, right -170px, left -102px ;

}

This method uses one less image and less CSS then the example cited above.  I used a span for the actual container.

<span class="button">TEST BUTTON</span>

What it looks like

TEST BUTTON

Comments

No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *