That is called CSS sprites. It is used to cut down the http requests. Basically all icons are placed on a single canvas and are used as background-image
property and later they are mapped using CSS background-position
property, so for example
.icon1 {
background-image: url('YOUR_URL_HERE');
background-position: 10px 10px; /* X and Y */
height: 30px;
width: 30px;
}
So inshort just define a fix height/width to your element, and than map the canvas using background-position
property. Hence, if you have 100 small icon images on a page, it will make 100 requests to the server, thus to increase the performance, CSS Sprites are used.