Ok, that CSS you have won't work because its wrong.
Why? Because when you say "input + label", you should have an HTML markup like the one below:
<input type="checkbox" name="ofcards-rarity[]" value="15">
<label>Legendary (36)</label> //You will be querying this label css with input + label
See, <label>
is placed immediately after <input>
. You can confirm this HERE
Now in your case, your <input>
was a child of you <label>
, looking like this:
<label>
<input type="checkbox" name="ofcards-rarity[]" value="15">Legendary (36)
</label>
To query that, you could have done something like this:
label>input[type=checkbox] {
}
label>input[type=checkbox]:checked {
}
And since you wanted to put something beetwen them, you add this to your css:
label>input[type=checkbox]:before {
}
label>input[type=checkbox]:checked:before {
}
I've adjusted it for you. It's not the easiest/cutest way to implement it, but at least works with your current HTML.
Here's the FIDDLE
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…