CSS切换按钮动画效果代码示例:
/* 定义一个切换按钮 */
.switch {
position: relative;
display: inline-block;
width: 60px;
height: 34px;
}
/* 定义按钮的滑块 */
.switch input[type="checkbox"] {
opacity: 0;
width: 0;
height: 0;
}
/* 定义按钮的圆形滑块 */
.slider {
position: absolute;
cursor: pointer;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: #ccc;
transition: .4s;
border-radius: 34px;
}
/* 定义滑块的内部状态 */
.slider:before {
position: absolute;
content: "";
height: 26px;
width: 26px;
left: 4px;
bottom: 4px;
background-color: white;
transition: .4s;
border-radius: 50%;
}
/* 点击按钮时改变滑块的位置 */
input:checked + .slider {
background-color: #2196F3;
}
/* 定义开状态下滑块位置以及颜色 */
input:checked + .slider:before {
transform: translateX(26px);
background-color: white;
} CSS切换按钮动画效果代码注释说明:
1、给按钮添加了一个自定义样式类switch,设置了它的宽度、高度以及定位。
2、将checkbox的透明度、宽度和高度设置为0,这样它就会隐藏,用户点击按钮时实际上是点击了它的label标签,而不是checkbox。
3、定义滑块的样式,包括大小、位置、背景颜色以及动画时间。
4、定义滑块内部状态,包括大小、位置、背景颜色以及动画时间。
5、当按钮处于选中状态时,改变滑块及其内部状态的背景颜色、位置以及动画时间。