记录一下由css修改的checkbox样式,显示效果
ts文件
// 投射2.5D框
const boxGizmoOption = $("div.boxGizmo-switch-button");
boxGizmoOption.append($('span.title-text', null, "投射2.5D框"));
const boxGizmoCheckbox = $('input', {
id: 'boxGizmo-inspect-input',
type: 'checkbox',
});
const boxGizmoLabel = $('label.green', {
for: 'boxGizmo-inspect-input'
}, '')
boxGizmoCheckbox.addEventListener('click', ()=>{
BOXGIZMO_CHECKBOX_CHANGE.value = boxGizmoCheckbox.checked
})
boxGizmoOption.append(boxGizmoCheckbox);
boxGizmoOption.append(boxGizmoLabel);
pointcloudBar.appendChild(boxGizmoOption);
html效果,由js生成
<div class="boxGizmo-switch-button">
<span class="title-text">投射2.5D框</span>
<input id="boxGizmo-inspect-input" type="checkbox">
<label class="green" for="boxGizmo-inspect-input"></label>
</div>
css样式
/* 投射2.5D框checkbox样式 */
.boxGizmo-switch-button {
display: flex;
align-items: center;
}
.boxGizmo-switch-button input[type="checkbox"] {
display: none;
}
.boxGizmo-switch-button input[type="checkbox"] + label {
display: inline-block;
width: 40px;
height: 20px;
position: relative;
-webkit-transition: 0.3s;
transition: 0.3s;
margin: 0px 5px;
box-sizing: border-box;
}
.boxGizmo-switch-button input[type="checkbox"] + label:after {
content: '';
display: block;
position: absolute;
left: 0px;
top: 0px;
width: 20px;
height: 20px;
-webkit-transition: 0.3s;
transition: 0.3s;
cursor: pointer;
}
.boxGizmo-switch-button #boxGizmo-inspect-input:checked + label.green {
background: #FFC000;
}
.boxGizmo-switch-button #boxGizmo-inspect-input:checked + label.green:after {
background: #FFFFFF;
}