A website template with lots of features, built with ruby on rails.

checkbox.css.less 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352
  1. .can-toggle {
  2. position: relative;
  3. }
  4. .can-toggle *, .can-toggle *:before, .can-toggle *:after {
  5. -moz-box-sizing: border-box;
  6. box-sizing: border-box;
  7. }
  8. .can-toggle input[type="checkbox"] {
  9. opacity: 0;
  10. position: absolute;
  11. top: 0;
  12. left: 0;
  13. }
  14. .can-toggle input[type="checkbox"][disabled] ~ label {
  15. pointer-events: none;
  16. }
  17. .can-toggle input[type="checkbox"][disabled] ~ label .can-toggle__switch {
  18. opacity: 0.4;
  19. }
  20. .can-toggle input[type="checkbox"]:checked ~ label .can-toggle__switch:before {
  21. content: attr(data-unchecked);
  22. left: 0;
  23. }
  24. .can-toggle input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  25. content: attr(data-checked);
  26. }
  27. .can-toggle label {
  28. -webkit-user-select: none;
  29. -moz-user-select: none;
  30. -ms-user-select: none;
  31. user-select: none;
  32. position: relative;
  33. display: -webkit-flex;
  34. display: -ms-flexbox;
  35. display: flex;
  36. -webkit-align-items: center;
  37. -ms-flex-align: center;
  38. align-items: center;
  39. }
  40. .can-toggle label .can-toggle__label-text {
  41. -webkit-flex: 1;
  42. -ms-flex: 1;
  43. flex: 1;
  44. padding-left: 32px;
  45. }
  46. .can-toggle label .can-toggle__switch {
  47. position: relative;
  48. }
  49. .can-toggle label .can-toggle__switch:before {
  50. content: attr(data-checked);
  51. position: absolute;
  52. top: 0;
  53. text-transform: uppercase;
  54. text-align: center;
  55. }
  56. .can-toggle label .can-toggle__switch:after {
  57. content: attr(data-unchecked);
  58. position: absolute;
  59. z-index: 5;
  60. text-transform: uppercase;
  61. text-align: center;
  62. background: white;
  63. -webkit-transform: translate3d(0, 0, 0);
  64. transform: translate3d(0, 0, 0);
  65. }
  66. .can-toggle input[type="checkbox"][disabled] ~ label {
  67. color: rgba(119, 119, 119, 0.5);
  68. }
  69. .can-toggle input[type="checkbox"]:focus ~ label .can-toggle__switch, .can-toggle input[type="checkbox"]:hover ~ label .can-toggle__switch {
  70. background-color: #777;
  71. }
  72. .can-toggle input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  73. color: #5e5e5e;
  74. }
  75. .can-toggle input[type="checkbox"]:hover ~ label {
  76. color: #6a6a6a;
  77. }
  78. .can-toggle input[type="checkbox"]:checked ~ label:hover {
  79. color: #55bc49;
  80. }
  81. .can-toggle input[type="checkbox"]:checked ~ label .can-toggle__switch {
  82. background-color: #70c767;
  83. }
  84. .can-toggle input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  85. color: #4fb743;
  86. }
  87. .can-toggle input[type="checkbox"]:checked:focus ~ label .can-toggle__switch, .can-toggle input[type="checkbox"]:checked:hover ~ label .can-toggle__switch {
  88. background-color: #5fc054;
  89. }
  90. .can-toggle input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  91. color: #47a43d;
  92. }
  93. .can-toggle label .can-toggle__label-text {
  94. -webkit-flex: 1;
  95. -ms-flex: 1;
  96. flex: 1;
  97. }
  98. .can-toggle label .can-toggle__switch {
  99. -webkit-transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
  100. transition: background-color 0.3s cubic-bezier(0, 1, 0.5, 1);
  101. background: #848484;
  102. }
  103. .can-toggle label .can-toggle__switch:before {
  104. color: rgba(255, 255, 255, 0.5);
  105. }
  106. .can-toggle label .can-toggle__switch:after {
  107. -webkit-transition: -webkit-transform 0.3s cubic-bezier(0, 1, 0.5, 1);
  108. transition: transform 0.3s cubic-bezier(0, 1, 0.5, 1);
  109. color: #777;
  110. }
  111. .can-toggle input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  112. box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4);
  113. }
  114. .can-toggle input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  115. -webkit-transform: translate3d(65px, 0, 0);
  116. transform: translate3d(65px, 0, 0);
  117. }
  118. .can-toggle input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  119. box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4);
  120. }
  121. .can-toggle label {
  122. font-size: 14px;
  123. }
  124. .can-toggle label .can-toggle__switch {
  125. height: 36px;
  126. -webkit-flex: 0 0 134px;
  127. -ms-flex: 0 0 134px;
  128. flex: 0 0 134px;
  129. border-radius: 4px;
  130. }
  131. .can-toggle label .can-toggle__switch:before {
  132. left: 67px;
  133. font-size: 12px;
  134. line-height: 36px;
  135. width: 67px;
  136. padding: 0 12px;
  137. }
  138. .can-toggle label .can-toggle__switch:after {
  139. top: 2px;
  140. left: 2px;
  141. border-radius: 2px;
  142. width: 65px;
  143. line-height: 32px;
  144. font-size: 12px;
  145. }
  146. .can-toggle label .can-toggle__switch:hover:after {
  147. box-shadow: 0 3px 3px rgba(0, 0, 0, 0.4);
  148. }
  149. .can-toggle.can-toggle--size-small input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle.can-toggle--size-small input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  150. box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
  151. }
  152. .can-toggle.can-toggle--size-small input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  153. -webkit-transform: translate3d(44px, 0, 0);
  154. transform: translate3d(44px, 0, 0);
  155. }
  156. .can-toggle.can-toggle--size-small input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle.can-toggle--size-small input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  157. box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
  158. }
  159. .can-toggle.can-toggle--size-small label {
  160. font-size: 13px;
  161. }
  162. .can-toggle.can-toggle--size-small label .can-toggle__switch {
  163. height: 28px;
  164. -webkit-flex: 0 0 90px;
  165. -ms-flex: 0 0 90px;
  166. flex: 0 0 90px;
  167. border-radius: 2px;
  168. }
  169. .can-toggle.can-toggle--size-small label .can-toggle__switch:before {
  170. left: 45px;
  171. font-size: 10px;
  172. line-height: 28px;
  173. width: 45px;
  174. padding: 0 12px;
  175. }
  176. .can-toggle.can-toggle--size-small label .can-toggle__switch:after {
  177. top: 1px;
  178. left: 1px;
  179. border-radius: 1px;
  180. width: 44px;
  181. line-height: 26px;
  182. font-size: 10px;
  183. }
  184. .can-toggle.can-toggle--size-small label .can-toggle__switch:hover:after {
  185. box-shadow: 0 2px 2px rgba(0, 0, 0, 0.4);
  186. }
  187. .can-toggle.can-toggle--size-large input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle.can-toggle--size-large input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  188. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  189. }
  190. .can-toggle.can-toggle--size-large input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  191. -webkit-transform: translate3d(78px, 0, 0);
  192. transform: translate3d(78px, 0, 0);
  193. }
  194. .can-toggle.can-toggle--size-large input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle.can-toggle--size-large input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  195. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  196. }
  197. .can-toggle.can-toggle--size-large label {
  198. font-size: 14px;
  199. }
  200. .can-toggle.can-toggle--size-large label .can-toggle__switch {
  201. height: 50px;
  202. -webkit-flex: 0 0 160px;
  203. -ms-flex: 0 0 160px;
  204. flex: 0 0 160px;
  205. border-radius: 4px;
  206. }
  207. .can-toggle.can-toggle--size-large label .can-toggle__switch:before {
  208. left: 80px;
  209. font-size: 14px;
  210. line-height: 50px;
  211. width: 80px;
  212. padding: 0 12px;
  213. }
  214. .can-toggle.can-toggle--size-large label .can-toggle__switch:after {
  215. top: 2px;
  216. left: 2px;
  217. border-radius: 2px;
  218. width: 78px;
  219. line-height: 46px;
  220. font-size: 14px;
  221. }
  222. .can-toggle.can-toggle--size-large label .can-toggle__switch:hover:after {
  223. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  224. }
  225. .can-toggle.demo-rebrand-1 input[type="checkbox"][disabled] ~ label {
  226. color: rgba(181, 62, 116, 0.5);
  227. }
  228. .can-toggle.demo-rebrand-1 input[type="checkbox"]:focus ~ label .can-toggle__switch, .can-toggle.demo-rebrand-1 input[type="checkbox"]:hover ~ label .can-toggle__switch {
  229. background-color: #b53e74;
  230. }
  231. .can-toggle.demo-rebrand-1 input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-1 input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  232. color: #8f315c;
  233. }
  234. .can-toggle.demo-rebrand-1 input[type="checkbox"]:hover ~ label {
  235. color: #a23768;
  236. }
  237. .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked ~ label:hover {
  238. color: #39916a;
  239. }
  240. .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked ~ label .can-toggle__switch {
  241. background-color: #44ae7f;
  242. }
  243. .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  244. color: #368a65;
  245. }
  246. .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked:focus ~ label .can-toggle__switch, .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked:hover ~ label .can-toggle__switch {
  247. background-color: #3d9c72;
  248. }
  249. .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-1 input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  250. color: #2f7757;
  251. }
  252. .can-toggle.demo-rebrand-1 label .can-toggle__label-text {
  253. -webkit-flex: 1;
  254. -ms-flex: 1;
  255. flex: 1;
  256. }
  257. .can-toggle.demo-rebrand-1 label .can-toggle__switch {
  258. -webkit-transition: background-color 0.3s ease-in-out;
  259. transition: background-color 0.3s ease-in-out;
  260. background: #c14b81;
  261. }
  262. .can-toggle.demo-rebrand-1 label .can-toggle__switch:before {
  263. color: rgba(255, 255, 255, 0.6);
  264. }
  265. .can-toggle.demo-rebrand-1 label .can-toggle__switch:after {
  266. -webkit-transition: -webkit-transform 0.3s ease-in-out;
  267. transition: transform 0.3s ease-in-out;
  268. color: #b53e74;
  269. }
  270. .can-toggle.demo-rebrand-2 input[type="checkbox"][disabled] ~ label {
  271. color: rgba(68, 68, 68, 0.5);
  272. }
  273. .can-toggle.demo-rebrand-2 input[type="checkbox"]:focus ~ label .can-toggle__switch, .can-toggle.demo-rebrand-2 input[type="checkbox"]:hover ~ label .can-toggle__switch {
  274. background-color: #444;
  275. }
  276. .can-toggle.demo-rebrand-2 input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-2 input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  277. color: #2b2b2b;
  278. }
  279. .can-toggle.demo-rebrand-2 input[type="checkbox"]:hover ~ label {
  280. color: #373737;
  281. }
  282. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked ~ label:hover {
  283. color: #62b125;
  284. }
  285. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked ~ label .can-toggle__switch {
  286. background-color: #75d32d;
  287. }
  288. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  289. color: #5da924;
  290. }
  291. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:focus ~ label .can-toggle__switch, .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:hover ~ label .can-toggle__switch {
  292. background-color: #69be28;
  293. }
  294. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  295. color: #52941f;
  296. }
  297. .can-toggle.demo-rebrand-2 label .can-toggle__label-text {
  298. -webkit-flex: 1;
  299. -ms-flex: 1;
  300. flex: 1;
  301. }
  302. .can-toggle.demo-rebrand-2 label .can-toggle__switch {
  303. -webkit-transition: background-color 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  304. transition: background-color 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  305. background: #515151;
  306. }
  307. .can-toggle.demo-rebrand-2 label .can-toggle__switch:before {
  308. color: rgba(255, 255, 255, 0.7);
  309. }
  310. .can-toggle.demo-rebrand-2 label .can-toggle__switch:after {
  311. -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  312. transition: transform 0.3s cubic-bezier(0.86, 0, 0.07, 1);
  313. color: #444;
  314. }
  315. .can-toggle.demo-rebrand-2 input[type="checkbox"]:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-2 input[type="checkbox"]:hover ~ label .can-toggle__switch:after {
  316. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  317. }
  318. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked ~ label .can-toggle__switch:after {
  319. -webkit-transform: translate3d(58px, 0, 0);
  320. transform: translate3d(58px, 0, 0);
  321. }
  322. .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:focus ~ label .can-toggle__switch:after, .can-toggle.demo-rebrand-2 input[type="checkbox"]:checked:hover ~ label .can-toggle__switch:after {
  323. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  324. }
  325. .can-toggle.demo-rebrand-2 label {
  326. font-size: 13px;
  327. }
  328. .can-toggle.demo-rebrand-2 label .can-toggle__switch {
  329. height: 60px;
  330. -webkit-flex: 0 0 120px;
  331. -ms-flex: 0 0 120px;
  332. flex: 0 0 120px;
  333. border-radius: 60px;
  334. }
  335. .can-toggle.demo-rebrand-2 label .can-toggle__switch:before {
  336. left: 60px;
  337. font-size: 13px;
  338. line-height: 60px;
  339. width: 60px;
  340. padding: 0 12px;
  341. }
  342. .can-toggle.demo-rebrand-2 label .can-toggle__switch:after {
  343. top: 2px;
  344. left: 2px;
  345. border-radius: 30px;
  346. width: 58px;
  347. line-height: 56px;
  348. font-size: 13px;
  349. }
  350. .can-toggle.demo-rebrand-2 label .can-toggle__switch:hover:after {
  351. box-shadow: 0 4px 4px rgba(0, 0, 0, 0.4);
  352. }