switch.css 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364
  1. .btn.btn-toggle {
  2. margin: 0 4rem;
  3. padding: 0;
  4. position: relative;
  5. border: none;
  6. height: 1.5rem;
  7. width: 3rem;
  8. border-radius: 0;
  9. color: #6b7381;
  10. background: #bdc1c8;
  11. }
  12. .btn-toggle:focus,
  13. .btn-toggle.focus,
  14. .btn-toggle:focus.active,
  15. .btn-toggle.focus.active {
  16. outline: none;
  17. }
  18. .btn-toggle:before,
  19. .btn-toggle:after {
  20. line-height: 1.5rem;
  21. width: 4rem;
  22. text-align: center;
  23. font-weight: 600;
  24. font-size: 0.75rem;
  25. text-transform: uppercase;
  26. letter-spacing: 2px;
  27. position: absolute;
  28. bottom: 0;
  29. transition: opacity .25s;
  30. }
  31. .btn-toggle:before {
  32. content: 'Off';
  33. left: -4rem;
  34. }
  35. .btn-toggle:after {
  36. content: 'On';
  37. right: -4rem;
  38. opacity: .5;
  39. }
  40. .btn-toggle > .handle {
  41. position: absolute;
  42. top: 2.5px;
  43. left: 0.1875rem;
  44. width: 1.125rem;
  45. height: 1.125rem;
  46. border-radius: 0;
  47. background: #fff;
  48. transition: left .25s;
  49. box-shadow: none;
  50. }
  51. .btn-toggle.active {
  52. transition: background-color 0.25s;
  53. }
  54. .btn-toggle.active > .handle {
  55. left: 1.6875rem;
  56. transition: left .25s;
  57. }
  58. .btn-toggle.active:before {
  59. opacity: .5;
  60. }
  61. .btn-toggle.active:after {
  62. opacity: 1;
  63. }
  64. .btn-toggle.btn-sm:before,
  65. .btn-toggle.btn-sm:after {
  66. line-height: -0.5rem;
  67. color: #fff;
  68. letter-spacing: .75px;
  69. left: 0.4125rem;
  70. width: 2.325rem;
  71. }
  72. .btn-toggle.btn-sm:before {
  73. text-align: right;
  74. }
  75. .btn-toggle.btn-sm:after {
  76. text-align: left;
  77. opacity: 0;
  78. }
  79. .btn-toggle.btn-sm.active:before {
  80. opacity: 0;
  81. }
  82. .btn-toggle.btn-sm.active:after {
  83. opacity: 1;
  84. }
  85. .btn-toggle.btn-xs:before,
  86. .btn-toggle.btn-xs:after {
  87. display: none;
  88. }
  89. .btn-toggle:before,
  90. .btn-toggle:after {
  91. color: #6b7381;
  92. }
  93. .btn-toggle.active {
  94. background-color: #29b5a8;
  95. }
  96. .btn-toggle.btn-lg {
  97. margin: 0 5rem;
  98. padding: 0;
  99. position: relative;
  100. border: none;
  101. height: 2.5rem;
  102. width: 5rem;
  103. border-radius: 0;
  104. }
  105. .btn-toggle.btn-lg:focus,
  106. .btn-toggle.btn-lg.focus,
  107. .btn-toggle.btn-lg:focus.active,
  108. .btn-toggle.btn-lg.focus.active {
  109. outline: none;
  110. }
  111. .btn-toggle.btn-lg:before,
  112. .btn-toggle.btn-lg:after {
  113. line-height: 2.5rem;
  114. width: 5rem;
  115. text-align: center;
  116. font-weight: 600;
  117. font-size: 1rem;
  118. text-transform: uppercase;
  119. letter-spacing: 2px;
  120. position: absolute;
  121. bottom: 0;
  122. transition: opacity .25s;
  123. }
  124. .btn-toggle.btn-lg:before {
  125. content: 'Off';
  126. left: -5rem;
  127. }
  128. .btn-toggle.btn-lg:after {
  129. content: 'On';
  130. right: -5rem;
  131. opacity: .5;
  132. }
  133. .btn-toggle.btn-lg > .handle {
  134. position: absolute;
  135. top: 4px;
  136. left: 0.3125rem;
  137. width: 1.875rem;
  138. height: 1.875rem;
  139. border-radius: 0;
  140. background: #fff;
  141. transition: left .25s;
  142. box-shadow: none;
  143. }
  144. .btn-toggle.btn-lg.active {
  145. transition: background-color 0.25s;
  146. }
  147. .btn-toggle.btn-lg.active > .handle {
  148. left: 2.8125rem;
  149. transition: left .25s;
  150. }
  151. .btn-toggle.btn-lg.active:before {
  152. opacity: .5;
  153. }
  154. .btn-toggle.btn-lg.active:after {
  155. opacity: 1;
  156. }
  157. .btn-toggle.btn-lg.btn-sm:before,
  158. .btn-toggle.btn-lg.btn-sm:after {
  159. line-height: 0.5rem;
  160. color: #fff;
  161. letter-spacing: .75px;
  162. left: 0.6875rem;
  163. width: 3.875rem;
  164. }
  165. .btn-toggle.btn-lg.btn-sm:before {
  166. text-align: right;
  167. }
  168. .btn-toggle.btn-lg.btn-sm:after {
  169. text-align: left;
  170. opacity: 0;
  171. }
  172. .btn-toggle.btn-lg.btn-sm.active:before {
  173. opacity: 0;
  174. }
  175. .btn-toggle.btn-lg.btn-sm.active:after {
  176. opacity: 1;
  177. }
  178. .btn-toggle.btn-lg.btn-xs:before,
  179. .btn-toggle.btn-lg.btn-xs:after {
  180. display: none;
  181. }
  182. .btn-toggle.btn-sm {
  183. margin: 0 0.5rem;
  184. padding: 0;
  185. position: relative;
  186. border: none;
  187. height: 1.5rem;
  188. width: 3rem;
  189. border-radius: 0;
  190. }
  191. .btn-toggle.btn-sm:focus,
  192. .btn-toggle.btn-sm.focus,
  193. .btn-toggle.btn-sm:focus.active,
  194. .btn-toggle.btn-sm.focus.active {
  195. outline: none;
  196. }
  197. .btn-toggle.btn-sm:before,
  198. .btn-toggle.btn-sm:after {
  199. line-height: 1rem;
  200. width: 0.5rem;
  201. text-align: center;
  202. font-weight: 600;
  203. font-size: 0.55rem;
  204. text-transform: uppercase;
  205. letter-spacing: 2px;
  206. position: absolute;
  207. bottom: 0;
  208. transition: opacity .25s;
  209. }
  210. .btn-toggle.btn-sm:before {
  211. content: 'Off';
  212. left: -0.5rem;
  213. }
  214. .btn-toggle.btn-sm:after {
  215. content: 'On';
  216. right: -0.5rem;
  217. opacity: .5;
  218. }
  219. .btn-toggle.btn-sm > .handle {
  220. position: absolute;
  221. top: 2.5px;
  222. left: 0.1875rem;
  223. width: 1.125rem;
  224. height: 1.125rem;
  225. border-radius: 0;
  226. background: #fff;
  227. transition: left .25s;
  228. box-shadow:none;
  229. }
  230. .btn-toggle.btn-sm.active {
  231. transition: background-color 0.25s;
  232. }
  233. .btn-toggle.btn-sm.active > .handle {
  234. left: 1.6875rem;
  235. transition: left .25s;
  236. }
  237. .btn-toggle.btn-sm.active:before {
  238. opacity: .5;
  239. }
  240. .btn-toggle.btn-sm.active:after {
  241. opacity: 1;
  242. }
  243. .btn-toggle.btn-sm.btn-sm:before,
  244. .btn-toggle.btn-sm.btn-sm:after {
  245. line-height: 1.5rem;
  246. color: #fff;
  247. letter-spacing: .75px;
  248. left: 0.4125rem;
  249. width: 2.325rem;
  250. }
  251. .btn-toggle.btn-sm.btn-sm:before {
  252. text-align: right;
  253. }
  254. .btn-toggle.btn-sm.btn-sm:after {
  255. text-align: left;
  256. opacity: 0;
  257. }
  258. .btn-toggle.btn-sm.btn-sm.active:before {
  259. opacity: 0;
  260. }
  261. .btn-toggle.btn-sm.btn-sm.active:after {
  262. opacity: 1;
  263. }
  264. .btn-toggle.btn-sm.btn-xs:before,
  265. .btn-toggle.btn-sm.btn-xs:after {
  266. display: none;
  267. }
  268. .btn-toggle.btn-xs {
  269. margin: 0 0;
  270. padding: 0;
  271. position: relative;
  272. border: none;
  273. height: 1rem;
  274. width: 2rem;
  275. border-radius: 0;
  276. }
  277. .btn-toggle.btn-xs:focus,
  278. .btn-toggle.btn-xs.focus,
  279. .btn-toggle.btn-xs:focus.active,
  280. .btn-toggle.btn-xs.focus.active {
  281. outline: none;
  282. }
  283. .btn-toggle.btn-xs:before,
  284. .btn-toggle.btn-xs:after {
  285. line-height: 0.5rem;
  286. width: 0;
  287. text-align: center;
  288. font-weight: 600;
  289. font-size: 0.75rem;
  290. text-transform: uppercase;
  291. letter-spacing: 2px;
  292. position: absolute;
  293. bottom: 0;
  294. transition: opacity .25s;
  295. }
  296. .btn-toggle.btn-xs:before {
  297. content: 'Off';
  298. left: 0;
  299. }
  300. .btn-toggle.btn-xs:after {
  301. content: 'On';
  302. right: 0;
  303. opacity: .5;
  304. }
  305. .btn-toggle.btn-xs > .handle {
  306. position: absolute;
  307. top: 1.5px;
  308. left: 0.125rem;
  309. width: 0.75rem;
  310. height: 0.75rem;
  311. border-radius: 0;
  312. background: #fff;
  313. transition: left .25s;
  314. box-shadow: none;
  315. }
  316. .btn-toggle.btn-xs.active {
  317. transition: background-color 0.25s;
  318. }
  319. .btn-toggle.btn-xs.active > .handle {
  320. left: 1.125rem;
  321. transition: left .25s;
  322. }
  323. .btn-toggle.btn-xs.active:before {
  324. opacity: .5;
  325. }
  326. .btn-toggle.btn-xs.active:after {
  327. opacity: 1;
  328. }
  329. .btn-toggle.btn-xs.btn-sm:before,
  330. .btn-toggle.btn-xs.btn-sm:after {
  331. line-height: -1rem;
  332. color: #fff;
  333. letter-spacing: .75px;
  334. left: 0.275rem;
  335. width: 1.55rem;
  336. }
  337. .btn-toggle.btn-xs.btn-sm:before {
  338. text-align: right;
  339. }
  340. .btn-toggle.btn-xs.btn-sm:after {
  341. text-align: left;
  342. opacity: 0;
  343. }
  344. .btn-toggle.btn-xs.btn-sm.active:before {
  345. opacity: 0;
  346. }
  347. .btn-toggle.btn-xs.btn-sm.active:after {
  348. opacity: 1;
  349. }
  350. .btn-toggle.btn-xs.btn-xs:before,
  351. .btn-toggle.btn-xs.btn-xs:after {
  352. display: none;
  353. }
  354. .btn-toggle.btn-secondary {
  355. color: #6b7381;
  356. background: #bdc1c8;
  357. }
  358. .btn-toggle.btn-secondary:before,
  359. .btn-toggle.btn-secondary:after {
  360. color: #6b7381;
  361. }
  362. .btn-toggle.btn-secondary.active {
  363. background-color: #ff8300;
  364. }