当前位置:  开发笔记 > 前端 > 正文

仅使用CSS和HTML的自定义复选框

如何解决《仅使用CSS和HTML的自定义复选框》经验,为你挑选了1个好方法。

我只需要使用html和CSS创建一个自定义复选框.到目前为止,我有:

HTML/CSS:

.checkbox-custom {
  opacity: 0;
  position: absolute;
}
.checkbox-custom,
.checkbox-custom-label {
  display: inline-block;
  vertical-align: middle;
  margin: 5px;
  cursor: pointer;
}
.checkbox-custom + .checkbox-custom-label:before {
  content: '';
  background: #fff;
  border-radius: 5px;
  border: 2px solid #ddd;
  display: inline-block;
  vertical-align: middle;
  width: 10px;
  height: 10px;
  padding: 2px;
  margin-right: 10px;
  text-align: center;
}
.checkbox-custom:checked + .checkbox-custom-label:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 5px;
  border: solid blue;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  border-radius: 0px;
  margin: 0px 15px 5px 5px;
}

checked复选框应该是一个复选标记,其周围有正方形,而不仅仅是一个复选标记.在搜索答案时,我只发现了使用UTF-8字符或图像显示复选标记的情况.我无法将这些中的任何一个用于我想要完成的任务.我只能使用纯CSS和HTML.有什么建议?

codepen:http://codepen.io/alisontague/pen/EPXagW?edit = 110



1> Josh Crozier..:

问题是您使用相同的伪元素作为方形边框和复选标记.简单的解决方案是继续使用:before边界的伪元素,然后使用:after伪元素作为复选标记.

更新的示例

您必须对于父标签元素绝对定位:after伪元素..checkbox-custom

这是更新的代码:

.checkbox-custom {
  display: none;
}
.checkbox-custom-label {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  margin: 5px;
  cursor: pointer;
}
.checkbox-custom + .checkbox-custom-label:before {
  content: '';
  background: #fff;
  border-radius: 5px;
  border: 2px solid #ddd;
  display: inline-block;
  vertical-align: middle;
  width: 10px; height: 10px;
  padding: 2px; margin-right: 10px;
}
.checkbox-custom:checked + .checkbox-custom-label:after {
  content: "";
  padding: 2px;
  position: absolute;
  width: 1px;
  height: 5px;
  border: solid blue;
  border-width: 0 3px 3px 0;
  transform: rotate(45deg);
  top: 2px; left: 5px;
}

Checkboxes

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有