我正在尝试创建清单,但只有第一个复选框有效。当我点击其他的时,它会选中第一个框。另外,我添加了“文本装饰:直通;”但它没有出现在文本中。不过,我很确定我可以用 HTML 解决这个问题。
http://codepen.io/tyl-er/pen/kXmkqB?editors=0100
这是我的代码:
<div class="box">
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> get an army
<br>
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> free the slaves
<br>
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> train my dragons
<br>
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> cross the narrow sea
<br>
<input type='checkbox' name='thing' value='valuable' id="thing"/><label for="thing"></label> become Queen of Westeros
</div>
<style>
input[type=checkbox] {
display:none;
}
input[type=checkbox] + label
{
background: #999;
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
input[type=checkbox]:checked + label
{
background: #0080FF;
text-decoration: line-through;
height: 16px;
width: 16px;
display:inline-block;
padding: 0 0 0 0px;
}
</style>
原文由 tyl-er 发布,翻译遵循 CC BY-SA 4.0 许可协议
每个复选框的文本需要包装在一个元素中。您可以使用 css 兄弟选择器在选中的复选框上删除文本。