style.scss 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. .hc-tabbar-box {
  2. position: fixed;
  3. bottom: 0;
  4. right: 0;
  5. left: 0;
  6. background: white;
  7. z-index: 8090;
  8. padding: 28rpx 28rpx calc(var(--window-bottom) + 34rpx);
  9. box-shadow: 0 -12rpx 10rpx -12rpx rgba(215, 224, 253, 100);
  10. .hc-tabbar {
  11. position: relative;
  12. display: flex;
  13. justify-content: space-between;
  14. .item {
  15. position: relative;
  16. font-size: 26rpx;
  17. color: #8E8E93;
  18. height: 82rpx;
  19. width: 150rpx;
  20. .icon-box {
  21. position: relative;
  22. .icon {
  23. position: relative;
  24. display: flex;
  25. font-size: 42rpx;
  26. align-items: center;
  27. justify-content: center;
  28. text {
  29. transform-origin: 24rpx 24rpx;
  30. animation-duration: 1s;
  31. animation-iteration-count: 1;
  32. animation-fill-mode: backwards;
  33. }
  34. text[class^="i-ooui-"] {
  35. font-size: 36rpx;
  36. }
  37. }
  38. }
  39. .name {
  40. position: absolute;
  41. text-align: center;
  42. bottom: 0;
  43. width: 100%;
  44. z-index: 2;
  45. }
  46. &.cur {
  47. .icon-box {
  48. height: 150rpx;
  49. width: 150rpx;
  50. position: absolute;
  51. top: -86rpx;
  52. background: white;
  53. border-radius: 50%;
  54. display: flex;
  55. align-items: center;
  56. justify-content: center;
  57. box-shadow: 0 -12rpx 10rpx -12rpx rgba(165, 187, 255, 100);
  58. .icon {
  59. background: #554D84;
  60. width: 100rpx;
  61. height: 100rpx;
  62. border-radius: 50%;
  63. color: white;
  64. display: inline-flex;
  65. font-size: 48rpx;
  66. text {
  67. animation-name: tabbarIcon;
  68. }
  69. text[class^="i-ooui-"] {
  70. font-size: 40rpx;
  71. }
  72. }
  73. }
  74. .name {
  75. color: #554D84;
  76. }
  77. }
  78. }
  79. }
  80. }
  81. @keyframes tabbarIcon {
  82. 20% {
  83. transform: rotate3d(0, 0, 1, 15deg);
  84. }
  85. 40% {
  86. transform: rotate3d(0, 0, 1, -10deg);
  87. }
  88. 60% {
  89. transform: rotate3d(0, 0, 1, 5deg);
  90. }
  91. 80% {
  92. transform: rotate3d(0, 0, 1, -5deg);
  93. }
  94. 100% {
  95. transform: rotate3d(0, 0, 1, 0deg);
  96. }
  97. }