Image buttons for professional apps: techniques and tools
To create a business application, HTML buttons must be replaced with something more attractive. What resources the HTML standard has it?
Here are three simple techniques to implement, using images that you can download or make with editing software (several links are provided in the appendix).
They are suitable to three functions in order:
- Button to send a form.
- To run a script.
- To load another page.
Using the input type='button' element
The image button is an HTML form submit button, it sends data of the form but you can use different techniques to make image buttons without constraints.
If you want to use this element but not send a form, it is just placed outside the <form> </ form> tags.
Example:
Source code:
<input type="image" src="image/scriptol-light.png" name="Submit" value="Envoyer"
onMouseOver="this.src='image/scriptol-dark.png'"
onMouseOut="this.src='image/scriptol-light.png'"
onMouseDown="this.src='image/scriptol-down.png'"
onClick="clickit(this);"
>
JavaScript code of the demo:
function clickit(element)
{
var x = document.getElementById("storage");
x.innerHTML="<b>Clicked!</b>";
setTimeout(function() { x.innerHTML="";}, 2000);
}
No CSS code is required.
Using a button element
It is more compliant to use a <button> element but without a src attribute, CSS code must be added to display an image, which will be placed as a background image.
This element has an advantage, the ability to display text above the image which allows to use the same image for different buttons each displaying a specific label.
Demonstration:
These buttons come from the Free Button gallery, see link below.
Source code:
<div class="buttonbar">
<button type="image" class="button" onClick="clickhome(this)">Home</button>
<button type="image" class="button" onClick="clickexit(this)">Exit</button>
</div>
CSS code:
.button
{
position:relative;
background-image:url(image/cosmic-gel-light.gif);
border:none;
width:111px;
height:32px;
color:white;
}
.button:hover
{
background-image:url(image/cosmic-gel-dark.gif);
}
.button:active
{
top: 1px;
left:1px;
}
.buttonbar
{
padding:4px;
margin:2px;
}
Using <a> tags
This has the same benefits as the button element, and is suitable when the button is designed to load another page.
The technique used is that Free Web Button implements, whose site is linked in the appendix: a single image contains both versions of the button, the normal image and the darker image that is displayed when the mouse passes over the button. A style property shifts the image on the button state, ie following the movement of the mouse.
Demonstration:
Source code:
<div id="button-bioloide"><a href="#"></a></div>
CSS code:
#button-bioloide a
{
display:block;
width:116px;
height:34px;
background-image:url(image/button-bioloide.png);
}
#button-bioloide a:hover
{
background-position:left bottom;
}
By changing the alignment of the background with the background-position property, you change the image visible. The left value is the default value and is unchanged, only changes the bottom value that replaces the default top when the mouse is over the button.
Reference: Properties of the image button element
Property | Function |
---|---|
name | Name used to send form data. |
src | URL of the image |
height | Height of the image |
width | Weight of the image |
style | Style personal to the button. A style sheet applies to all image buttons. |
alt | Text giving the function to facilitate accessibility. |
Deprecated attributes:
- align. Instead, use text-align property.
- vspace and hspace. Use the margin attribute in a stylesheet.
- border. Use the CSS border property.
Tools and images
You can also create a button with the canvas tag or SVG. But if you prefer using predefined elements, several sources can provide them:
- Free buttons. Images to download for use with the three techniques.
- Free Web Button. Tool to create buttons, a free version is offered. The program generates a page with a list of buttons containing the code that handles the mouse. These images are usable directly with the third technique that uses <a> tags. But the generated code contains a hidden link that can make your site penalized by search engines: you must remove it.
- You can also make buttons with GIMP and Paint Net.