switch.scss 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. @use '../mixins' as *;
  2. .switch {
  3. margin: 0;
  4. display: inline-block;
  5. position: relative;
  6. width: 40px;
  7. height: 20px;
  8. border: 1px solid var(--border-color);
  9. outline: none;
  10. border-radius: 10px;
  11. box-sizing: border-box;
  12. background: var(--bg-color-mute);
  13. cursor: pointer;
  14. transition: border-color var(--el-transition-duration),
  15. background-color var(--el-transition-duration);
  16. &:hover {
  17. border-color: var(--border-color-light);
  18. }
  19. &__action {
  20. position: absolute;
  21. top: 1px;
  22. left: 1px;
  23. border-radius: 50%;
  24. background-color: var(--bg-color);
  25. transform: translateX(0);
  26. color: var(--text-color-light);
  27. transition: border-color var(--el-transition-duration),
  28. background-color var(--el-transition-duration),
  29. transform var(--el-transition-duration);
  30. .dark & {
  31. transform: translateX(20px);
  32. }
  33. }
  34. &__icon {
  35. position: relative;
  36. .el-icon {
  37. position: absolute;
  38. left: 1px;
  39. bottom: 1px;
  40. }
  41. }
  42. &__action,
  43. &__icon {
  44. width: 16px;
  45. height: 16px;
  46. }
  47. }