menu-grid.scss 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. @import '../mixins.scss';
  2. .menu-grid {
  3. display: grid;
  4. grid-template-columns: repeat(4, 1fr);
  5. gap: 20rpx 12rpx;
  6. }
  7. .menu-card {
  8. display: flex;
  9. flex-direction: column;
  10. align-items: center;
  11. justify-content: flex-start;
  12. gap: 8rpx;
  13. min-height: 168rpx;
  14. padding: 20rpx 8rpx 12rpx;
  15. border-radius: 24rpx;
  16. }
  17. .menu-card:active {
  18. background: var(--brand-green-soft, #ecfdf5);
  19. }
  20. .menu-icon {
  21. position: relative;
  22. overflow: visible;
  23. width: 96rpx;
  24. height: 96rpx;
  25. border-radius: 28rpx;
  26. display: flex;
  27. align-items: center;
  28. justify-content: center;
  29. background: #eef2f1;
  30. color: #3d524a;
  31. font-size: 48rpx;
  32. box-shadow: inset 0 0 0 1rpx rgba(15, 41, 30, 0.06);
  33. }
  34. /* 微信风格数量角标:图标右上角 */
  35. .menu-badge {
  36. position: absolute;
  37. top: -8rpx;
  38. right: -12rpx;
  39. z-index: 1;
  40. min-width: 32rpx;
  41. height: 32rpx;
  42. padding: 0 8rpx;
  43. border-radius: 16rpx;
  44. background: #fa5151;
  45. color: #fff;
  46. font-size: 20rpx;
  47. font-weight: 600;
  48. line-height: 32rpx;
  49. text-align: center;
  50. box-sizing: border-box;
  51. box-shadow: 0 0 0 2rpx #fff;
  52. }
  53. .menu-icon .v-icon--img {
  54. width: 52rpx;
  55. height: 52rpx;
  56. }
  57. /* 无色底:仅展示位图本身(如发起审批纸飞机),收紧容器避免与标题脱节 */
  58. .menu-icon.menu-icon--plain {
  59. width: 64rpx;
  60. height: 64rpx;
  61. background: transparent;
  62. box-shadow: none;
  63. }
  64. .menu-icon.menu-icon--plain .v-icon--img {
  65. width: 56rpx;
  66. height: 56rpx;
  67. }
  68. .menu-icon.tone-approve {
  69. background: #ffe4e6;
  70. color: #e11d48;
  71. box-shadow: inset 0 0 0 1rpx rgba(225, 29, 72, 0.12);
  72. }
  73. .menu-icon.tone-yellow {
  74. background: var(--barley-yellow-soft, #fffbeb);
  75. color: #a16207;
  76. }
  77. .menu-icon.tone-slate {
  78. background: #eef2f1;
  79. color: #3d524a;
  80. }
  81. .menu-title {
  82. font-size: 24rpx;
  83. line-height: 1.25;
  84. color: var(--text-primary, #0f291e);
  85. text-align: center;
  86. max-width: 144rpx;
  87. word-break: break-all;
  88. }