Search code examples
htmlcssimagebutton

Embed image in a <button> element


I'm trying to display a png image on a <button> element in HTML. The button is the same size as the image, and the image is shown but for some reason not in the center - so it's impossible to see it all. In other words it seems like the top right corner of the image is located at the center of the button and not at the top right corner of the button.

This is the HTML code:

<button id="close" class="closing" onClick="javascript:close_clip()"><img src="icons/close.png" /></button>

Update:
What actually happens, I think, is a margin problem. I get a two pixel margin, so the background image is going out of the button. The button and the image are the same size, which is only 20px, so it's very noticable... I tried margin:0, padding:0, but it didn't help...


Solution

  • You could use input type image.

    <input type="image" src="http://example.com/path/to/image.png" />
    

    It works as a button and can have the event handlers attached to it.

    Alternatively, you can use css to style your button with a background image, and set the borders, margins and the like appropriately.

    <button style="background: url(myimage.png)" ... />