1

I am trying to insert an image instead of a check on the check box. The code that am using is:

<html>
<head>
<style>
.bl {
background:-webkit-gradient(linear, left top, left bottom, color-stop(0, #175899), color-stop(0.5, #7da4bf), color-stop(3, #9fbed3));
width: 90%;
height:30px;
border-radius: 5px;
margin-right:auto;
margin-left:auto;
margin-top:10px;
margin-bottom:10px;
}
p
{
font-family:"Times New Roman";
font-size:10px;
}

checkbox
{
  width: 75px;
  height: 75px;
  padding: 0 5px 0 0;
  background: url(images/Green_tick.png) no-repeat;
  display: block;
  clear: left;
  float: left;
}

.checked {
  position: absolute;
  width: 200px;
  height: 21px;
  padding: 0 24px 0 8px;
  color: #fff;
  font: 12px/21px arial,sans-serif;
  background: url(images/Green_tick.png) no-repeat;
  overflow: hidden;
}

</style>
</head>

<body>
<script>
function Checked(id)
{
if(id.checked==1)
{
    alert("Checked");
}
else
{
    alert("You didn't check it! Let me check it for you.")
        id.checked = 1;

}
}

</script>

<div class="main_menu">
    <a id='menu' href="javascript:" onclick="loadMenuPage();"></a>
</div>
<p>
All verifications required for QR7 can be uploaded here. Any item which still requires verification is
marked in red until picture has been attached.
</p>
<div class="bl">  
<input type="checkbox" id="checkbox" class="checkbox" onclick="Checked(id);"> Income </input>
</div>
<div class="bl">  
<input type="checkbox" id="checkbox" class="checkbox" onclick="Checked(id);"> Property </input>
</div>
<div class="bl">  
<input type="checkbox" id="checkbox" class="checkbox" onclick="Checked(id);"> Court Order Child Support </input>
</div>
<div class="bl">  
<input type="checkbox" id="checkbox" class="checkbox" onclick="Checked(id);"> Future Medical Child Support </input>
</div>

</body>
</html>

Any suggestions on how do i achieve it. As of now i get a normal tick in the checkbox.

Thanks in advance.

Khush
  • 867
  • 1
  • 19
  • 46

2 Answers2

2

This post is old but this is what i suggest:

Associate labels to your checkboxes like this:

<input type="checkbox" value="1" id="c1" />
<label class="check" for="c1"></label>

Hide by css your checkboxes:

.checkboxes input[type=checkbox]{
    display:none
}

Style the label as you want to. I created a simple jsfiddle that fully demonstrate how to use personnalise checkboxes. I use backgrond-color in this example, but you could easily use your background image instead.

Here is the jsfiddle

service-paradis
  • 3,333
  • 4
  • 34
  • 43
  • I [wrote a more in-depth tutorial](http://blog.felixhagspiel.de/index.php/posts/custom-inputs) about how to customize checkboxes and radios, as well as create on/off switches, but basically it is the same like your approach. – Felix Hagspiel Jan 03 '15 at 19:57
1

Styling checkboxes using CSS is a nightmare and you'll never achieve the look you want. Try using a jQuery plugin, most of them 'hide' the checkbox by positioning the input off the visible screen and use a span replacement with a background image that you can edit to suit your needs. Something like: http://www.protofunc.com/scripts/jquery/checkbox-radiobutton/

Also check this thread: Pure CSS Checkbox Image replacement

Community
  • 1
  • 1
Deadkat7
  • 53
  • 5