width: calc(100% - 100px);

We can position background-image X pixels from the top-left corner easily.
background-image: url(dog.png);
background-position: 50px 20px;
That would put the dog 50px from the left and 20px from the top of the elements box. But what if you want it 50px from the right and 20px from the bottom? Not possible with just straight length values. 
But calc() makes it possible!
background-image: url(dog.png);
background-position: calc(100% - 50px) calc(100% - 20px);


référence

JS Bin on jsbin.com