用 CSS3 实现切换按钮
在CSS3中,可以使用transition
属性和伪类:checked
来创建一个简单的切换按钮。以下是一个例子:
HTML:
<label class="switch">
<input type="checkbox" />
<span class="slider"></span>
</label>
CSS:
/* 切换按钮的样式 */
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
/* 隐藏默认的选择框 */
.switch input {
opacity: 0;
width: 0;
height: 0;
}
/* 滑块 */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .4s;
}
/* 当选择框被选中时,滑块的样式 */
.switch input:checked + .slider {
background-color: #2196F3;
}
/* 点击选择框时,滑块移动位置 */
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
transition: .4s;
}
/* 当选择框被选中时,小圆点的位置 */
.switch input:checked + .slider:before {
left: 54px;
}
这段代码创建了一个简单的切换按钮,当用户点击时,滑块会移动到另一侧,并且小圆点的颜色会改变。这个例子使用了伪类:checked
来检测复选框是否被选中,并使用CSS过渡效果(transition
)来平滑地改变样式。
评论已关闭