创建一个滑动开关(toggle switch)可以使用纯CSS3,主要利用伪类、复选框(checkbox)和一些基础的CSS样式。以下是一个简单的示例:
HTML 部分:
<label class="switch">
<input type="checkbox" id="toggle">
<span class="slider"></span>
</label>
CSS 部分:
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
.switch input {
display: none;
}
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
-webkit-transition: .4s;
transition: .4s;
}
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
-webkit-transition: .4s;
transition: .4s;
}
input:checked + .slider {
background-color: #2196F3;
}
input:checked + .slider:before {
-webkit-transform: translateX(26px);
-ms-transform: translateX(26px);
transform: translateX(26px);
}
在这个示例中,.switch
是包含复选框和滑动条的容器。复选框本身被隐藏了,而是通过 .slider
元素来显示滑动条。当复选框被选中时,.slider
的背景颜色会改变,并且 .slider:before
元素(代表滑动条上的圆形按钮)会向右移动,从而创建出滑动的效果。