index.module.less 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. .container {
  2. display: flex;
  3. flex-direction: column;
  4. background: #FFFFFF;
  5. border-radius: 20px;
  6. min-height: 100%;
  7. }
  8. .tools {
  9. padding: 32px 32px 20px 32px;
  10. display: flex;
  11. align-items: flex-start;
  12. flex-shrink: 0;
  13. :global {
  14. .n-input {
  15. margin-left: auto;
  16. width: 360px;
  17. }
  18. .n-input__input-el {
  19. height: 100%;
  20. line-height: 100%;
  21. }
  22. .n-button.n-button--disabled {
  23. cursor: initial;
  24. padding: 0;
  25. }
  26. }
  27. .tagWrap {
  28. flex: 1;
  29. margin-right: 20px;
  30. }
  31. .tags {
  32. .firstButton {
  33. display: flex;
  34. align-items: center;
  35. justify-content: center;
  36. height: 100%;
  37. font-size: max(18px, 13Px);
  38. color: #999999;
  39. line-height: 25px;
  40. }
  41. padding: 12px 0;
  42. :global {
  43. .n-button {
  44. min-width: 102px;
  45. height: 37px;
  46. padding: 0 24px;
  47. font-size: max(18px, 13Px);
  48. }
  49. }
  50. }
  51. }
  52. .content {
  53. flex: 1;
  54. // padding: 20px 36px 36px 36px;
  55. padding: 0 6px 36px;
  56. &.loadingContent {
  57. min-height: 50vh;
  58. }
  59. gap: 50px 0;
  60. display: flex;
  61. flex-flow: row wrap;
  62. justify-content: flex-start;
  63. margin-left: -12px;
  64. margin-right: -12px;
  65. .itemWrap {
  66. width: calc(100% / 6);
  67. padding-bottom: calc(100% / 6 * 0.909923);
  68. position: relative;
  69. .itemWrapBox {
  70. position: absolute;
  71. left: 0;
  72. top: 0;
  73. width: 100%;
  74. height: 100%;
  75. padding: 0 12px;
  76. }
  77. }
  78. }
  79. // 214px
  80. // 223px + 38
  81. .item {
  82. margin: 0 auto;
  83. position: relative;
  84. width: 214px;
  85. cursor: pointer;
  86. transition: all .3s;
  87. .cover {
  88. position: relative;
  89. overflow: hidden;
  90. &::before {
  91. content: '';
  92. position: absolute;
  93. top: 107px;
  94. left: 0;
  95. width: 214px;
  96. height: 214px;
  97. background: #DDF2FF;
  98. border-radius: 50%;
  99. }
  100. }
  101. &:hover {
  102. transform: scale(1.1);
  103. }
  104. .itemImg {
  105. position: relative;
  106. width: 158px;
  107. height: 223px;
  108. margin: auto;
  109. background-color: #EDEFF2;
  110. background-image: url('./icon_default.svg');
  111. background-repeat: no-repeat;
  112. background-position: center center;
  113. &::before {
  114. content: '';
  115. position: absolute;
  116. top: 4px;
  117. right: -4px;
  118. width: 4px;
  119. height: calc(100% - 8px);
  120. background-color: #C5C5C5;
  121. z-index: 1;
  122. }
  123. &::after {
  124. content: '';
  125. position: absolute;
  126. top: 2px;
  127. right: -2px;
  128. width: 4px;
  129. height: calc(100% - 4px);
  130. background-color: #E7E7E7;
  131. z-index: 2;
  132. }
  133. .itemBg {
  134. position: absolute;
  135. top: 0;
  136. left: 0;
  137. width: 100%;
  138. height: 100%;
  139. z-index: 4;
  140. background-repeat: no-repeat;
  141. background-image: linear-gradient(to right, rgba(0, 0, 0, 0.2) 0, rgba(255, 255, 255, 0.08) 0%, transparent 0.5%), linear-gradient(to right, rgba(0, 0, 0, 0.1) 0.3%, rgba(255, 255, 255, 0.09) 1.1%, transparent 1.3%);
  142. background-size: 50% 100%, 50% 100%;
  143. background-position: 0% top, 9% top;
  144. }
  145. :global {
  146. .n-image {
  147. position: relative;
  148. width: 100%;
  149. height: 100%;
  150. z-index: 3;
  151. }
  152. }
  153. img {
  154. transition: opacity .3s;
  155. opacity: 0;
  156. }
  157. img[data-loaded="true"] {
  158. opacity: 1;
  159. }
  160. }
  161. .itemName {
  162. margin-top: 16px;
  163. font-size: max(16px, 12Px);
  164. line-height: 22px;
  165. font-weight: 500;
  166. color: #333;
  167. text-align: center;
  168. }
  169. }