As mentioned above, this can't be done.
What you can do is add a tag inside the checkbox and set a background image to that tag. It's all done with css and it works perfectly.
input[type=checkbox] {
display:none;
}
input[type=checkbox] + label
{
background-image: url('images/off.gif');
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
input[type=checkbox]:checked + label
{
background-image: url('images/on.gif');
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
And HTML code:
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label>
The code can be found in this fiddle.
I found this solution here.
BTW: if you're using ASP.NET like me, you can add the label tag as so:
<asp:CheckBox runat="server" ID="chkEmailForUnpluggedService" Text="<label for='thing'>" />