CSS3中伪元素::before和::after 制作按钮的开关门效果
/* 开关门效果 */
.toggle-switch {
position: relative;
width: 120px;
height: 60px;
background-color: #e9e9e9;
border-radius: 30px;
transition: background-color 0.3s;
}
.toggle-switch::before,
.toggle-switch::after {
position: absolute;
top: 50%;
transform: translateY(-50%);
width: 50%;
height: 80%;
background-color: white;
border-radius: 50%;
transition: transform 0.3s;
content: '';
}
.toggle-switch::before {
left: 20px;
}
.toggle-switch::after {
right: 20px;
}
/* 开启状态 */
.toggle-switch.on {
background-color: #4caf50;
}
.toggle-switch.on::before {
left: 5%;
}
.toggle-switch.on::after {
right: 5%;
}
这段代码定义了一个简单的开关门效果,当.toggle-switch
元素有.on
类时,门会打开,展示出背景色#4caf50
的样式。::before
和::after
伪元素分别代表门的左右半部分,当有.on
类时,它们会向外扩展,从而模拟门打开的效果。
评论已关闭