<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
/* 设置整体开关大小 由于label是行内元素需要将其转换为块元素 */
label{
width: 200px;
height: 100px;
border-radius: 50px;
background-color: rgb(66, 63, 63);
display: block;
}
input:checked+label{
background-color: rgb(49, 231, 33);
}
/* 将input进行隐藏 */
input{
display: none;
}
/* 开关按钮设置 */
label div{
width: 100px;
height: 100px;
border-radius: 50px;
background-color: rgb(197, 188, 188);
}
/* 点击后按钮左外间距变为100px */
input:checked+label div{
margin-left: 100px;
}
</style>
</head>
<body>
<form action="">
<input type="checkbox" id="switch">
<!-- 绑定 利用label实现点击其他元素也可触发开关 -->
<label for="switch">
<div></div>
</label>
</form>
</body>
</html>
点击前:
点击后: