css实现蠕虫开关checkbox效果代码

代码语言:html

所属分类:布局界面

代码描述:css实现蠕虫开关checkbox效果代码

代码标签: css 蠕虫 开关 checkbox

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  


  
  
  
  
<style>
:root {
	--sz: 10vmin;
	--sz1: calc(var(--sz) / 10);
	--on: #269fe5; 
	--no: #ff4444;
	--bg: #212121;
	--tr: all 0.5s ease 0s;
}	

@property --deg {
	syntax: '<angle>';
	inherits: false;
	initial-value: 180deg;
}

* {
	box-sizing: border-box;
}	

body {
	margin: 0;
	padding: 0;
	width: 100vw;
	height: 100vh;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(var(--bg), #222);
}

.toggle {
	position: relative;
	width: calc(var(--sz) * 4);
	height: calc(var(--sz) * 2);
	display: flex;
	align-items: center;
	justify-content: center;
}

input {
	display: none;
}

label {
	--deg: 180deg;
	position: absolute;
	width: calc(var(--sz)* 4);
	height: calc(var(--sz)* 2);
	background: 
		conic-gradient(from 0deg at 50% 50%, #fff0 0 var(--deg), var(--no) 0 100%),
		conic-gradient(from calc(var(--deg) + 0deg) at 50% 50%, var(--on) 0 50%, #fff0 0 100%),
		#272727;
	border-radius: var(--sz);
	pointer-events: none;
	transition: var(--tr);
	transition-property: --deg;
	animation: start-worm 2s ease 0s 1;
}

@keyframes start-worm {
	0%, 75% { --deg: 360deg; }
}	

#btn:checked + label {
	--deg: 360deg;
}

label:before {
	content: "";
	position: absolute;
	width: calc(var(--sz) * 1);
	height: calc((var(--sz) * 2) + 2px);
	left: calc(var(--sz1) * 15);
	top: -1px;
	transition: var(--tr);
	--bg1: radial-gradient(circle at calc(0% - 2px) 50%, #fff0 calc(var(--sz1) * 2), var(--bg) calc(calc(var(--sz1) * 2) + 1px) 100%);
	--bg2: radial-gradient(circle at calc(100% + 2px) 50%, #fff0 calc(var(--sz1) * 2), var(--bg) calc(calc(var(--sz1) * 2) + 1px) 100%);
	background: var(--bg1), var(--bg1),	var.........完整代码请登录后点击上方下载按钮下载查看

网友评论0