Door
Danny von Gaal
op 25-09-2015 15:45
gewijzigd op 25-09-2015 15:45
2.093 views
Ik heb een zelf gemaakte submit button waarbij ik mijn plaatje als background heb ingesteld. Alleen nu wil ik wanneer erop geklikt wordt dat de button een klein beetje kleiner wordt. Dit werkt alleen wordt het plaatje maar aan twee kanten kleiner ipv aan vier kanten.
Dus het lijkt alsof het wordt verplaatst naar links boven.
Hoe krijg ik dit plaatje dat het aan vier kanten wordt verkleind?
Aangezien ik mijn reactie had aangepast het is misschien beter om een losse image tag te gebruiken en daarop padding te zetten. Dit, zodat het dynamisch is want anders moet je gaan calculeren over wat "5%" is over 179 en 55 pixels zijn.
Ik snap niet precies wat je bedoelt.
Maar die 5% kleiner die ik nu heb is prima, alleen zoals me fiddle laat zien gebeurd dit alleen rechts en onder en niet ook boven en links.
Ik snap niet precies wat je bedoelt.
Maar die 5% kleiner die ik nu heb is prima, alleen zoals me fiddle laat zien gebeurd dit alleen rechts en onder en niet ook boven en links.
Dat komt omdat je background image word ingekort met die 5%. Aangezien de background-position op 0,0 staat (dus links boven aan).
Je zou dus in jouw voorbeeld background position moeten aanpassen wat 5% / 2 of 2.5% is van de height en width van jouw ".bt-start-war" classe en hierop de position instellen. kan via Javascript of "hardcoded" in je css.
Maar aangezien 5% van "width: 179px;" niet op een heel getal uit komt zal dus je image ook nooit precies gecentreerd staan.
Of wat ik bedoelde inplaats van 1 element, gebruik er 2.
<div> // deze div bevat de groote van het element
<input type="button"> // deze input bevat de image background (100% width & height)
</div>
op :active hoef je dan dus alleen maar een padding in te voeren op je input wat dus dynamisch is mocht het icoon dus ooit in de toekomst veranderen. Makkelijker dan deze hardcoded issue uit je CSS te halen & met wat andere css class namen maakt het ook meteen je CSS reuseable.