Web前端动画开关的实现(HTML+CSS)

Web前端动画开关的实现(HTML+CSS)

利用HTML和CSS自写Element-ui的Switch开关

实现效果

演示效果

实现代码

HTML部分:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
		<link rel="stylesheet" href="switch.css">
	</head>
	<body>
		<div class="switch-container">
			<input type="checkbox" class="check" id="toggle">
			<label class="switch" for="toggle"></label>
		</div>
	</body>
</html>

CSS部分:

.switch-container .check {
	display: none;
}
.switch-container .switch {
	display: inline-block;
	position: relative;
	width: 40px;
	height: 20px;
	background-color: #13ce66;
	border-radius: 10px;
	box-sizing: border-box;
	cursor: pointer;
	transition: all 0.3s;
}
.switch-container .switch::after {
	content: '';
    position: absolute;
    top: 2px;
    right: 2px;
    width: 16px;
    height: 16px;
    background-color: #fff;
    border-radius: 100%;
    transition: all 0.3s;
}
.switch-container .check:checked + .switch::after {
    transform: translateX(-20px);
}
.switch-container .check:checked + .switch {
    background-color: #ff4949;
}

CSS看着不清晰的也可以看一下LESS的代码:

.switch-container {
	.check {
		display: none;
	}
	.switch {
		display: inline-block;
		position: relative;
		width: 40px;
		height: 20px;
		background-color: rgb(19, 206, 102);
		border-radius: 10px;
		box-sizing: border-box;
		cursor: pointer;
		transition: all 0.3s;
		&::after {
			content: '';
			position: absolute;
			top: 2px;
			right: 2px;
			width: 16px;
			height: 16px;
			background-color: #fff;
			border-radius: 100%;
			transition: all 0.3s;
		}
	}
	.check:checked + .switch::after {
		transform: translateX(-20px);
	}
	.check:checked + .switch {
		background-color: rgb(255, 73, 73);
	}
}
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值