I often, change the images of my buttons using the image attribute, but someone told me that it is a good practice to do it using .css I tried but i cant, what i am doing wrong? This is what i did:
1-The resources of my project are stored like this:

2-This is how i created the style.css for accessing the image
.c2 {
    background: url(/resources/images/smiley.jpg);  
}
3-This is how i access the css from the body of my page(Im sure this is correct because other classes in the same document works in other tags in this page)
<h:outputStylesheet library="css" name="style.css"  />
4-This is how create a sample commandButton that uses the appropiated css class
<h:commandButton styleClass="c2"/>
I think the problem is in the .css, i tried a few combinations but none worked:
background-image: url(/resources/images/smiley.jpg);    
background: url(resources/images/smiley.jpg);   
background: url(smiley.jpg);    
background: url(../smiley.jpg); 
Where is the mistake?
update I managed to make it work by the following code:
.c2 {   
     background: url("#{resource['images:smiley.jpg']}");               
    }
Notice the difference when i use css(right) and when i use image attribute(left)

How could i solve this so the hold image is shown?
 
     
    