如何使整个自定义复选框/ Div可单击-不仅仅是标签+输入

阿米

我有自定义复选框,其样式类似于按钮。单击标签或输入标签时,其周围的div会更改颜色。但是,仅标签和输入是可单击的。

有没有一种方法可以使整个div / button可单击(即边框内的所有内容)?

这是我的代码:

div.label {  
    border:solid 1px gray;
    line-height:40px;
    height:40px;
    width: 250px;
    border-radius:40px;
    -webkit-font-smoothing: antialiased; 
    margin-top:10px;
    font-family:Arial,Helvetica,sans-serif;
    color:gray;
    text-align:center;
}

label {
    display:inline;
    text-align:center;
}

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

input:checked + div {
    border: solid 1px red;
    color: #F00;
}

input:checked + div:before {
    content: "\2713";
}
<input id="lists[Travel]" type="checkbox" name="lists[Travel]" />
<div class="label">
    <label for="lists[Travel]">Travel</label> <br>
</div>

阿克塞尔

答案很简单:您不需要其他div元素。实际上,您可以在所需的label任何地方放置-element并将其与input您选择-element相关联

  • <label>可以通过将控件元素放置在元素内或使用for属性A与控件关联这样的控件称为标签元素的标签控件。一个输入可以与多个标签关联。
  • 标签本身并不直接与表单关联。它们仅通过与之关联的控件与表单间接关联。
  • <label>单击或点击a并将其与窗体控件关联时,click也会为关联的控件引发结果事件。

资料来源:https : //developer.mozilla.org/en-US/docs/Web/HTML/Element/label

label {
    display:block;
    border:solid 1px gray;
    line-height:40px;
    height:40px;
    width: 250px;
    border-radius:40px;
    -webkit-font-smoothing: antialiased; 
    margin-top:10px;
    font-family:Arial,Helvetica,sans-serif;
    color:gray;
    text-align:center;
}

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

input:checked + label {
    border: solid 1px red;
    color: #F00;
}

input:checked + label:before {
    content: "\2713 ";
}


/* new stuff */
.check {
    visibility: hidden;
}

input:checked + label .check {
    visibility: visible;
}

input.checkbox:checked + label:before {
    content: "";
}
<input id="lists[Travel]" type="checkbox" name="lists[Travel]" />
<label for="lists[Travel]">Travel with jump</label>

<!-- alternatively avoid jumps between text of state checked and unchecked -->

<input class="checkbox" id="lists[new]" type="checkbox" name="lists[new]" />
<label for="lists[new]"><span class="check">✓</span> Travel without jump</label>

此外,您可以反复折腾display: block<label>但这应该是给予它相当简单float: leftdisplay: inline-block或任何以获得所需的元素浮动。

CODEPEN

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使整个StackedColumn可单击,而不仅仅是其中的DataPoints

来自分类Dev

如何查看终端输出的历史记录,而不仅仅是输入的命令?

来自分类Dev

如何使背景颜色覆盖整个 DIV 而不仅仅是其中的文本?

来自分类Dev

上边距将整个div向下推而不仅仅是单个元素

来自分类Dev

为什么我整个div都是可点击的,而不仅仅是链接?

来自分类Dev

改变整个 div 的颜色而不仅仅是元素

来自分类Dev

QComboBox:我们能否使整个组合框可单击,而不仅仅是下拉按钮(箭头)本身?

来自分类Dev

如何从所有div中(不仅仅是同级兄弟)中删除带有jQuery的类?

来自分类Dev

如何让我的(如果列表中的“输入”)检查输入的每个字母,而不仅仅是输入的第一个字母?

来自分类Dev

Xamarin,Android:更改整个应用程序的名称,而不仅仅是标签

来自分类Dev

XML连接:如何使用标记标签连接节点,而不仅仅是XSLT值

来自分类Dev

在单击列表视图项时,行的整个背景颜色发生变化,而不仅仅是边框发生变化(使用卡UI布局)

来自分类Dev

如果您单击文件夹图标而不仅仅是三角形图标,如何使jstree关闭/打开

来自分类Dev

防止选中复选框(而不仅仅是取消选中)

来自分类Dev

PERL / CGI-从输入文本区域中获取的不仅仅是文本

来自分类Dev

如何在整个班级中访问约束,而不仅仅是在我设置的地方?

来自分类Dev

未来值 (FV) 如何从整个期间返回总和,而不仅仅是 Nper 值

来自分类Dev

onClick触发所有子菜单,而不仅仅是单击的子菜单

来自分类Dev

遍历所有属性,而不仅仅是可枚举的属性

来自分类Dev

文件提取器可带来所有文件,而不仅仅是zip文件

来自分类Dev

div的响应div大小,而不仅仅是窗口大小

来自分类Dev

在页面加载时显示DIV,而不仅仅是下拉列表的“更改中”

来自分类Dev

使Div填充内容的宽度,而不仅仅是屏幕

来自分类Dev

降低div顶部和底部的高度(不仅仅是底部)

来自分类Dev

SSRS:操作-使整个文本框成为链接,而不仅仅是文本

来自分类Dev

为什么Ajax.ActionLink会更新整个页面,而不仅仅是UpdateTarget

来自分类Dev

R抓取整个html,而不仅仅是页面视图

来自分类Dev

悬停时更改整个<li>颜色,而不仅仅是href

来自分类Dev

element(by.binding('...'),getText()获得整个文本块,而不仅仅是元素

Related 相关文章

  1. 1

    如何使整个StackedColumn可单击,而不仅仅是其中的DataPoints

  2. 2

    如何查看终端输出的历史记录,而不仅仅是输入的命令?

  3. 3

    如何使背景颜色覆盖整个 DIV 而不仅仅是其中的文本?

  4. 4

    上边距将整个div向下推而不仅仅是单个元素

  5. 5

    为什么我整个div都是可点击的,而不仅仅是链接?

  6. 6

    改变整个 div 的颜色而不仅仅是元素

  7. 7

    QComboBox:我们能否使整个组合框可单击,而不仅仅是下拉按钮(箭头)本身?

  8. 8

    如何从所有div中(不仅仅是同级兄弟)中删除带有jQuery的类?

  9. 9

    如何让我的(如果列表中的“输入”)检查输入的每个字母,而不仅仅是输入的第一个字母?

  10. 10

    Xamarin,Android:更改整个应用程序的名称,而不仅仅是标签

  11. 11

    XML连接:如何使用标记标签连接节点,而不仅仅是XSLT值

  12. 12

    在单击列表视图项时,行的整个背景颜色发生变化,而不仅仅是边框发生变化(使用卡UI布局)

  13. 13

    如果您单击文件夹图标而不仅仅是三角形图标,如何使jstree关闭/打开

  14. 14

    防止选中复选框(而不仅仅是取消选中)

  15. 15

    PERL / CGI-从输入文本区域中获取的不仅仅是文本

  16. 16

    如何在整个班级中访问约束,而不仅仅是在我设置的地方?

  17. 17

    未来值 (FV) 如何从整个期间返回总和,而不仅仅是 Nper 值

  18. 18

    onClick触发所有子菜单,而不仅仅是单击的子菜单

  19. 19

    遍历所有属性,而不仅仅是可枚举的属性

  20. 20

    文件提取器可带来所有文件,而不仅仅是zip文件

  21. 21

    div的响应div大小,而不仅仅是窗口大小

  22. 22

    在页面加载时显示DIV,而不仅仅是下拉列表的“更改中”

  23. 23

    使Div填充内容的宽度,而不仅仅是屏幕

  24. 24

    降低div顶部和底部的高度(不仅仅是底部)

  25. 25

    SSRS:操作-使整个文本框成为链接,而不仅仅是文本

  26. 26

    为什么Ajax.ActionLink会更新整个页面,而不仅仅是UpdateTarget

  27. 27

    R抓取整个html,而不仅仅是页面视图

  28. 28

    悬停时更改整个<li>颜色,而不仅仅是href

  29. 29

    element(by.binding('...'),getText()获得整个文本块,而不仅仅是元素

热门标签

归档