index.module.less 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305
  1. .container {
  2. position: relative;
  3. width: 100vw;
  4. height: 100vh;
  5. overflow: hidden;
  6. background: url('../../common/images/icon_bg.png') no-repeat center center / cover;
  7. display: flex;
  8. flex-direction: column;
  9. }
  10. .head {
  11. position: relative;
  12. display: flex;
  13. align-items: center;
  14. justify-content: space-between;
  15. padding: 19px 23px 8px 41px;
  16. transition: opacity .3s ease-in-out;
  17. .back {
  18. img {
  19. display: block;
  20. }
  21. }
  22. .tabs {
  23. :global {
  24. .van-tab {
  25. color: rgba(255, 255, 255, .9);
  26. font-size: 15px;
  27. padding: 0 16px;
  28. &.van-tab--active {
  29. color: #fff;
  30. }
  31. }
  32. .van-tabs__nav.van-tabs__nav--line {
  33. background: transparent;
  34. }
  35. .van-tabs__line {
  36. background: #fff;
  37. width: 18px;
  38. height: 4px;
  39. }
  40. }
  41. }
  42. }
  43. .downBtn {
  44. width: 84px;
  45. height: 32px;
  46. background: #F8F9FC;
  47. border-radius: 16px;
  48. border: none;
  49. padding: 0;
  50. display: flex;
  51. justify-content: center;
  52. align-items: center;
  53. :global {
  54. .van-button__content {
  55. width: 100%;
  56. }
  57. .van-button__text {
  58. width: 100%;
  59. height: 100%;
  60. display: flex;
  61. justify-content: center;
  62. align-items: center;
  63. font-size: 13px;
  64. color: #333;
  65. font-weight: 400;
  66. }
  67. }
  68. .icon {
  69. width: 8px;
  70. height: 5px;
  71. margin-left: 4px;
  72. transition: transform .2s ease;
  73. }
  74. .iconUp {
  75. color: var(--van-primary-color);
  76. transform: rotate(180deg);
  77. transition: transform .2s ease;
  78. }
  79. }
  80. .popover {
  81. width: 83px;
  82. border: none;
  83. :global {
  84. .van-popover__action {
  85. display: flex;
  86. justify-content: center;
  87. align-items: center;
  88. padding: 0;
  89. width: 100%;
  90. height: 36px;
  91. color: #999;
  92. font-size: 13px;
  93. }
  94. .van-popover__content {
  95. max-height: 70vh;
  96. overflow-x: hidden;
  97. overflow-y: auto;
  98. }
  99. }
  100. }
  101. .content {
  102. flex: 1;
  103. overflow-y: hidden;
  104. overflow-x: auto;
  105. display: flex;
  106. .wrap {
  107. position: relative;
  108. display: flex;
  109. height: 100%;
  110. padding: 20px 63px 0;
  111. &.emtpyWrap {
  112. width: 100%;
  113. }
  114. }
  115. :global {
  116. .van-empty__description {
  117. font-size: 14px;
  118. color: #fff;
  119. }
  120. .van-empty__image {
  121. width: 200px;
  122. height: 200px;
  123. }
  124. }
  125. }
  126. .wrapItem {
  127. position: relative;
  128. width: 154px;
  129. display: flex;
  130. flex-direction: column;
  131. align-items: center;
  132. padding: 0 16px;
  133. flex-shrink: 0;
  134. z-index: 1;
  135. .item {
  136. position: relative;
  137. margin-bottom: 15px;
  138. width: 100%;
  139. height: 170px;
  140. background-color: #EDEFF2;
  141. box-shadow: 0 5px 14Px rgba(0,0,0,0.4);
  142. &::before {
  143. content: "";
  144. position: absolute;
  145. top: 4Px;
  146. right: -4Px;
  147. width: 4Px;
  148. height: calc(100% - 8Px);
  149. background-color: #c5c5c5;
  150. z-index: 1;
  151. }
  152. &::after {
  153. content: "";
  154. position: absolute;
  155. top: 2Px;
  156. right: -2Px;
  157. width: 4Px;
  158. height: calc(100% - 4Px);
  159. background-color: #e7e7e7;
  160. z-index: 2;
  161. }
  162. }
  163. .name {
  164. font-size: 11px;
  165. font-weight: 400;
  166. color: #FFFFFF;
  167. line-height: 16px;
  168. text-align: center;
  169. }
  170. .favoriteBtn {
  171. position: absolute;
  172. top: 135px;
  173. right: 20px;
  174. z-index: 3;
  175. }
  176. }
  177. .containerImg {
  178. position: relative;
  179. display: block;
  180. width: 100%;
  181. height: 170px;
  182. &::before {
  183. content: '';
  184. position: absolute;
  185. top: 4Px;
  186. right: -4Px;
  187. width: 4Px;
  188. height: calc(100% - 8Px);
  189. background-color: #C5C5C5;
  190. z-index: 1;
  191. }
  192. &::after {
  193. content: '';
  194. position: absolute;
  195. top: 2Px;
  196. right: -2Px;
  197. width: 4Px;
  198. height: calc(100% - 4Px);
  199. background-color: #E7E7E7;
  200. z-index: 2;
  201. }
  202. }
  203. .cover {
  204. position: relative;
  205. z-index: 3;
  206. display: block;
  207. width: 100%;
  208. height: 170px;
  209. background-color: #edeff2;
  210. background-image: url('./image/icon_default.svg');
  211. background-repeat: no-repeat;
  212. background-position: center center;
  213. &::after {
  214. content: '';
  215. position: absolute;
  216. top: 0;
  217. left: 0;
  218. width: 100%;
  219. height: 100%;
  220. z-index: 2;
  221. background-repeat: no-repeat;
  222. background-image: linear-gradient(to right, rgba(0, 0, 0, .2) 0, rgba(255, 255, 255, .08) 0%, transparent .5%), linear-gradient(to right, rgba(0, 0, 0, .1) .3%, rgba(255, 255, 255, .09) 1.1%, transparent 1.3%);
  223. background-size: 50% 100%, 50% 100%;
  224. background-position: 0% top, 9% top;
  225. }
  226. :global {
  227. img {
  228. width: 100%;
  229. height: 100%;
  230. opacity: 0;
  231. transition: opacity .3s ease-in-out;
  232. }
  233. }
  234. &.loaded {
  235. img {
  236. opacity: 1;
  237. }
  238. }
  239. }
  240. .book {
  241. position: fixed;
  242. top: 50%;
  243. left: 50%;
  244. width: 50vw;
  245. transform: translate(-50%, -50%) scale(0);
  246. z-index: 20;
  247. background-color: #fff;
  248. transition: all .3s ease-in-out;
  249. visibility: hidden;
  250. pointer-events: none;
  251. border-radius: 8px;
  252. box-shadow: 0 0 10px 0 rgba(0, 0, 0, .2);
  253. .bookWrap {
  254. height: 60vh;
  255. overflow-y: auto;
  256. ul {
  257. list-style: circle;
  258. padding: 10px 40px;
  259. }
  260. }
  261. &.show {
  262. visibility: visible;
  263. pointer-events: auto;
  264. transform: translate(-50%, -50%) scale(1);
  265. }
  266. }