Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在checkbox-CSS下居中放置自定义复选框标签?_Html_Css_Checkbox - Fatal编程技术网

Html 如何在checkbox-CSS下居中放置自定义复选框标签?

Html 如何在checkbox-CSS下居中放置自定义复选框标签?,html,css,checkbox,Html,Css,Checkbox,我正在修改一个现有的项目,其中有一些自定义CSS样式的复选框。当前,复选框标签位于复选框的右侧,我想将复选框移动到标签上方。如何使用以下代码实现这一点 <input type="checkbox" id="box-<%= tmp %>"> <label for="box-<%= tmp %>"><%= question.choiceAnswer[tmp] %></label> input[type="checkbox"]

我正在修改一个现有的项目,其中有一些自定义CSS样式的复选框。当前,复选框标签位于复选框的右侧,我想将复选框移动到标签上方。如何使用以下代码实现这一点

<input type="checkbox" id="box-<%= tmp %>">
<label for="box-<%= tmp %>"><%= question.choiceAnswer[tmp] %></label>

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

input[type="checkbox"] + label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  text-align: center;
  font-weight: 500;
  font-size: 0.85em;
  color: #232A33;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

input[type="checkbox"] + label:last-child { margin-bottom: 0; }

input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #232A33;
  position: absolute;
  left: 0;
  top: 0;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked + label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
根据我的理解,典型的复选框是不隐藏的,新的复选框是通过CSS添加的,但我不知道如何将标签移动到复选框下方,因为标签似乎是一个单独的部分。我可以通过修改上面的代码来实现这一点,还是从零开始更好


提前谢谢

删除标签的左侧填充和伪元素的绝对位置:before

输入[类型=复选框]{显示:无;} 输入[类型=复选框]+标签{ 位置:相对位置; 边缘底部:20px; 文本对齐:居中; 字号:500; 字号:0.85em; 颜色:232A33; 光标:指针; -webkit用户选择:无; -moz用户选择:无; -ms用户选择:无; } 输入[类型=复选框]+标签:最后一个子项{页边距底部:0;} 输入[类型=复选框]+标签:在{ 内容:; 显示:块; 宽度:20px; 高度:20px; 边框:1px实心232A33; 不透明度:.6; -webkit过渡:全部.12s,边框颜色.08s; 过渡:全部.12s,边框颜色.08s; } 输入[类型=复选框]:选中+标签:之前{ 宽度:10px; 顶部:-5px; 左:5px; 边界半径:0; 不透明度:1; 边框顶色:透明; 左边框颜色:透明; -webkit变换:旋转45度; 变换:旋转45度; }
拉贝尔汉克斯!这就行了,我能把这个伪元素放在中心,像其他元素一样填充它吗?我以前从未做过类似的工作,所以我只是想了解它是如何工作的。是的,你可以。试一下:谢谢,我能得到它!