点击查看html编辑器说明文档

鸡蛋和小鸡开关edit icon

|
|
Fork(复制)
|
|
作者:
穿越者X57

👉 新版编辑器已上线,点击进行体验吧!

BUG反馈
嵌入
设置
下载
HTML
格式化
支持Emmet,输入 p 后按 Tab键试试吧!
<head> ...
展开
</head>
<body>
            
            <input type="checkbox" role="switch" class="toggle" />
<input type="checkbox" role="switch" class="toggle" checked />
<input type="checkbox" role="switch" class="toggle" disabled />
<input type="checkbox" role="switch" class="toggle" disabled checked />
        
</body>
CSS
格式化
            
            body {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  margin: 0;
  min-height: 100vh;
  font-size: 10vmin;
  gap: 0.25em;
}

.toggle {
  appearance: none;
  position: relative;
  font-size: 1em;
  width: 2.5em;
  height: 1em;
  border: max(1px, 0.035em) solid;
  border-radius: 30% / 100%; 100% / 1000% 1000% 20% 20%;
  background: linear-gradient(#dff8 75%, #fd68 0), #fff;
  
  &::before, &::after {
    content: "";
    position: absolute;
    width: 0.5em;
    height: 0.66em;
    top: 50%;
    left: 20%;
    transform: translate(-50%, -50%) rotate(0);
    border-radius: 100% / 125% 125% 80% 80%;
    box-sizing: content-box;
    transition: left 0.5s 0.25s, transform 0.5s 0.25s, background 0.25s 0s, rotate 0.25s 0s;
    transform-origin: 50% 55%;
  }
  
  &::before {
    background:
      conic-gradient(at 80% 40%, #0000 120deg, #b85 121deg 220deg, #0000 221deg),
      conic-gradient(at 40% 40%, #0000 140deg, #b85 141deg 255deg, #0000 256deg),
      radial-gradient(circle at 40% 20%, #000 3%, #0000 3.5%),
      radial-gradient(circle at 60% 20%, #000 3%, #0000 3.5%),
      conic-gradient(at 50% 0, #0000 120deg, orange 0 240deg, #0000 0) 50% 25% / 20% 10% no-repeat,
      radial-gradient(circle at 50% 22%, gold 22%, #0000 23%),
      radial-gradient(circle at 50% 60%, gold 40%, #0000 41%)
      ;
    background-repeat: no-repeat;
  }
  
  &::after {
    background: #b85;
    aborder: max(1px, 0.035em) solid #0000;
    atransform-origin: 0 50%;
    clip-path: polygon(0 0, 100% 0, 100% 50%, 80% 40%, 60% 60%, 40% 40%, 0 50%);
    rotate: 0deg;
  }
  
  &:checked {
    &::before, &::after {
      left: 80%;
      transform: translate(-50%, -50%) rotate(360deg);
      transition: left 0.5s 0s, transform 0.5s 0s, background 0.25s 0.5s, rotate 0.25s 0.5s;
    }
    &::after {
      rotate: -37deg;
      background: #c96;
    }
  }
  
  &[disabled] {
    opacity: 0.25;
  }
}

@media print {
  .toggle {
    &, &::before, &::after {
      -webkit-print-color-adjust: exact;
      print-color-adjust: exact;
    }
  }
}

@media (prefers-reduced-motion) {
  .toggle {
    &, &::before, &::after {
      transition: none !important;
      animation: none !important;
    }
  }
}
        
JS
格式化
            
            
        
预览
控制台