#43: How to Use CSS Sprites

CSS Sprites have been a hot topic for a long time now. The fact is that each image on a web page is a separate server request and you can dramatically increase the performance of a page by combining images and reducing that number of requests. In this screencast I'm going to show you how to do exactly that, by taking what would be 8 different images and combining them into one. As an added bonus, we then expand the idea with jQuery and build ourselves a little accordion widget.

Comments

I can't believe people complain about a service that they are getting for free. If you don't have time to watch 1min intro that has been designed for various reasons (i.e Branding) than you can fast forward it. You get intros even with purchased DVDs.

Nice work, today i watched 12, 13, 14 and this one, and I always wish at the end of your cast you would show the final version of all your scripts. I know i can go back and hunt around in the video, but it would be useful. or allow us to download the files you used for the cast as well?

Anyway your intro is good, not too long with some nice graphics, and that's pretty much all you could ask for in an intro.

Was that download files there before? maybe i had gone delirious last night, but if not thanks! i guess thanks either way.

Also, I think the one remaining thing to do is show us how to do the three way toggle. I've tried this without the java script back from 12,13,14 but they never showed how to keep the white state open. I was thinking that it could be seporate .html's but that doesn't really make sense because we're using css. Your site does this, and apple (as someone mentioned above) and almost everyone else, but is it css or javascript? I tried the a:active and it didn't work as you can see at my site where i struggle jonrwilson.com

I thought the video was great. I have been using CSS sprites for awhile for hover and active states. Didn’t realize how easy it was to add the jquery. Thanks for this video and all the others that you take time to produce. This is one of the sites I recommend for anyone looking for help with CSS.

Hi Chris, Tricks the best Tutorials on the web for the web! Keep on good health, nothing more nothing less. All the best the 2009 right up to 2999, we leave something for the negative margins. Chao amigo!

I’m trying to implement this accordion on a page which also contains an AnythingSlider and OrganicTabs (all awesome plugins btw) – everything works perfectly in FF and Chrome, but IE (in this case 8 but could also be in other versions) fails badly. An example of the page can bee found at:

Also, the over state on the icons doesn’t work on my wamp server (but for some reason it works perfectly when I run it on my local SQL server? Weird

I should probably mention that the html generated in this page is output from an XSL transformation (server side) – not sure if this is significant at all but IE handled the other plugins without any problems however the Sprite Accordion is nested within a UL that is referenced by the OrganicTabs script, are there any known conflicts in combining these plugins?

Thankyou!
A really clear and useful tutorial. Okay, a bit too much “extraneous” information (unscripted asides), but the essential content was greatly helpful to me and I will certainly check out your other tutorials.
Thank you again.
Graeme

I have a question. I implemented sprites into a website I am working on and I tested both before and after and I didn’t find that it loaded faster… in fact, the added size of the CSS file and the single larger image file for the sprite seem to offset the speed I may have possibly gained from less server calls.

I don’t disagree that the code is cool, but I’m not sure I understand the benefit.

Posting Code!

You may write comments in Markdown. This makes code easy to post, as you can write inline code like `<div>this</div>` or multiline blocks of code in triple backtick fences (```) with double new lines before and after.

Code of Conduct

Absolutely anyone is welcome to submit a comment here. But not all comments will be posted. Think of it like writing a letter to the editor. All submitted comments will be read, but not all published. Published comments will be on-topic, helpful, and further the discussion or debate.

Want to tell us something privately?

Feel free to use our contact form. That's a great place to let us know about typos or anything off-topic.