I’m trying to get an input to load a CSS sprite, and put the icon I want out of it, right at the END of the input. Here is what I have so far:
#test2 {
width: 140px;
outline:0;
background: url(http://www.chambresdhotes.org/new_design/sprites-all.png) -87px -97px no-repeat;
}
Here is some code I have that works fine, but it uses an individual image (this is what is currently live, but we want to convert it into a sprite for SEO);
#test1 {
width: 140px;
background-image:url(http://www.chambresdhotes.org//new_design/bookings/images/calendar1.png);
background-repeat:no-repeat;
background-position:95% center;
outline:0;
}
Here is a JSFiddle to see the 2 running alongside each other:
https://jsfiddle.net/vr5emuar/
Can anyone explain where I’m going wrong? I’ve even tried using :after on the input (but it seems that doesn’t work, as you can’t use :before or :after on inputs)
Thanks!
2
Answers
::after
and::before
are pseudo-elements and an input can’t have element inside it.There are multiple solutions :
:after
) and put it over the input with absolute positionning on :after and relative position on the span.You can do it like below only change needed is your sprite should be vertical.