counter.module.css 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. .row {
  2. display: flex;
  3. align-items: center;
  4. justify-content: center;
  5. }
  6. .row:not(:last-child) {
  7. margin-bottom: 16px;
  8. }
  9. .value {
  10. font-size: 78px;
  11. padding-left: 16px;
  12. padding-right: 16px;
  13. margin-top: 2px;
  14. font-family: 'Courier New', Courier, monospace;
  15. }
  16. .button {
  17. appearance: none;
  18. border: none;
  19. background: none;
  20. font-size: 32px;
  21. padding-left: 12px;
  22. padding-right: 12px;
  23. outline: none;
  24. border: 2px solid transparent;
  25. color: rgb(112, 76, 182);
  26. padding-bottom: 4px;
  27. cursor: pointer;
  28. background-color: rgba(112, 76, 182, 0.1);
  29. border-radius: 2px;
  30. transition: all 0.15s;
  31. }
  32. .textbox {
  33. font-size: 32px;
  34. padding: 2px;
  35. width: 64px;
  36. text-align: center;
  37. margin-right: 8px;
  38. }
  39. .button:hover,
  40. .button:focus {
  41. border: 2px solid rgba(112, 76, 182, 0.4);
  42. }
  43. .button:active {
  44. background-color: rgba(112, 76, 182, 0.2);
  45. }
  46. .asyncButton {
  47. composes: button;
  48. position: relative;
  49. margin-left: 8px;
  50. }
  51. .asyncButton:after {
  52. content: '';
  53. background-color: rgba(112, 76, 182, 0.15);
  54. display: block;
  55. position: absolute;
  56. width: 100%;
  57. height: 100%;
  58. left: 0;
  59. top: 0;
  60. opacity: 0;
  61. transition: width 1s linear, opacity 0.5s ease 1s;
  62. }
  63. .asyncButton:active:after {
  64. width: 0%;
  65. opacity: 1;
  66. transition: 0s;
  67. }