_custom_control.scss 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. label.custom-control-label {
  2. font-weight: normal;
  3. }
  4. .custom-switch.custom-switch-sm {
  5. $custom-control-indicator-size-sm: $custom-control-indicator-size * 0.8;
  6. $custom-switch-width-sm: $custom-control-indicator-size-sm * 1.75;
  7. $custom-control-gutter-sm: $custom-control-gutter * 0.8;
  8. $custom-control-indicator-size-sm: $custom-control-indicator-size * 0.8;
  9. $custom-switch-indicator-size-sm: subtract($custom-control-indicator-size-sm, $custom-control-indicator-border-width * 4);
  10. padding-left: $custom-switch-width-sm + $custom-control-gutter-sm;
  11. .custom-control-label {
  12. &::before {
  13. left: -($custom-switch-width-sm + $custom-control-gutter-sm);
  14. width: $custom-switch-width-sm;
  15. height: $custom-control-indicator-size-sm;
  16. }
  17. &::after {
  18. top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);
  19. left: add(-($custom-switch-width-sm + $custom-control-gutter-sm), $custom-control-indicator-border-width * 2);
  20. width: $custom-switch-indicator-size-sm;
  21. height: $custom-switch-indicator-size-sm;
  22. }
  23. }
  24. .custom-control-input:checked ~ .custom-control-label {
  25. &::after {
  26. transform: translateX($custom-switch-width-sm - $custom-control-indicator-size-sm);
  27. }
  28. }
  29. }
  30. //lg
  31. .custom-switch.custom-switch-lg {
  32. $custom-control-indicator-size-lg: $custom-control-indicator-size * 1.5;
  33. $custom-switch-width-lg: $custom-control-indicator-size-lg * 1.75;
  34. $custom-control-gutter-lg: $custom-control-gutter * 1.5;
  35. $custom-control-indicator-size-lg: $custom-control-indicator-size * 1.5;
  36. $custom-switch-indicator-size-lg: subtract($custom-control-indicator-size-lg, $custom-control-indicator-border-width * 4);
  37. padding-left: $custom-switch-width-lg + $custom-control-gutter-lg;
  38. line-height: $custom-control-indicator-size-lg;
  39. .custom-control-label {
  40. &::before {
  41. top: ($font-size-base * $line-height-base - $custom-control-indicator-size-lg) / 2;
  42. left: -($custom-switch-width-lg + $custom-control-gutter-lg);
  43. width: $custom-switch-width-lg;
  44. height: $custom-control-indicator-size-lg;
  45. border-radius: $custom-control-indicator-size-lg/2;
  46. }
  47. &::after {
  48. top: add(($font-size-base * $line-height-base - $custom-control-indicator-size-lg) / 2, $custom-control-indicator-border-width * 2);
  49. left: add(-($custom-switch-width-lg + $custom-control-gutter-lg), $custom-control-indicator-border-width * 2);
  50. width: $custom-switch-indicator-size-lg;
  51. height: $custom-switch-indicator-size-lg;
  52. border-radius: $custom-control-indicator-size-lg/2;
  53. }
  54. }
  55. .custom-control-input:checked ~ .custom-control-label {
  56. &::after {
  57. transform: translateX($custom-switch-width-lg - $custom-control-indicator-size-lg);
  58. }
  59. }
  60. }
  61. .custom-switch.custom-switch-slack {
  62. .custom-control-label {
  63. &::before {
  64. background-color: $gray-200;
  65. border-color: transparent;
  66. }
  67. &::after {
  68. background-size: 15px;
  69. }
  70. }
  71. .input-group-addon {
  72. input {
  73. vertical-align: middle;
  74. }
  75. }
  76. }