Us Web Company
Us Web Company

Reputation: 49

Checkbox image overlay

I need help for checkbox using CSS only.

First of all it function correctly. However, I want to overlay the checked image on top of the unchecked image when the button is clicked. How to achieve this?

.gchoice_1_1_3 {border: 1px solid red;}

.gchoice_1_1_3 input[type="checkbox"] {display: none; }

.gchoice_1_1_3 input[type="checkbox"] + label:before {
	background: url('http://www.uswebcompany.com/plugins/gravityforms/wp-content/uploads/2016/01/christmasLights.png') 0 0px no-repeat;
    z-index: 10;
	content: "";
	display: inline-block;
	font-size: 12px;
	height: 75px;
	width: 75px;
	line-height: 16px;
	margin: -2px 6px 0 0;
	text-align: center;
	vertical-align: middle;
	positionL relative;
	border-radius: 10px;
	background-color: #6283B2;
}

.gchoice_1_1_3 input[type="checkbox"]:checked + label:before {
	background: url('http://www.uswebcompany.com/plugins/gravityforms/wp-content/uploads/2016/01/checkmark.png') 0 0px no-repeat;
	height: 75px;
	width: 75px;
	border-radius: 10px;
	background-color: #37924A;
}
<li class='gchoice_1_1_3'>
     <input name='input_1.3' type='checkbox'  value='Christmas Lights'  id='choice_1_1_3' tabindex='22'  />
     <label for='choice_1_1_3' id='label_1_1_3'>Christmas Lights</label>
</li>

Upvotes: 1

Views: 1551

Answers (1)

Qwertiy
Qwertiy

Reputation: 21380

You can use multiple backgrounds.
But be sure to check browser support and problems with order in which backgrounds are applied.

.gchoice_1_1_3 {border: 1px solid red;}

.gchoice_1_1_3 input[type="checkbox"] {display: none; }

.gchoice_1_1_3 input[type="checkbox"] + label:before {
  background: url('http://www.uswebcompany.com/plugins/gravityforms/wp-content/uploads/2016/01/christmasLights.png') 0 0px no-repeat;
  z-index: 10;
  content: "";
  display: inline-block;
  font-size: 12px;
  height: 75px;
  width: 75px;
  line-height: 16px;
  margin: -2px 6px 0 0;
  text-align: center;
  vertical-align: middle;
  position: relative;
  border-radius: 10px;
  background-color: #6283B2;
}

.gchoice_1_1_3 input[type="checkbox"]:checked + label:before {
  background: url('http://www.uswebcompany.com/plugins/gravityforms/wp-content/uploads/2016/01/checkmark.png'), url('http://www.uswebcompany.com/plugins/gravityforms/wp-content/uploads/2016/01/christmasLights.png') 0 0px no-repeat;
  height: 75px;
  width: 75px;
  border-radius: 10px;
  background-color: #37924A;
}
<li class='gchoice_1_1_3'>
  <input name='input_1.3' type='checkbox'  value='Christmas Lights'  id='choice_1_1_3' tabindex='22'  />
  <label for='choice_1_1_3' id='label_1_1_3'>Christmas Lights</label>
</li>

Upvotes: 1

Related Questions