video.module.less 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383
  1. .videoWrap {
  2. width: 100%;
  3. height: 100%;
  4. position: relative;
  5. .videoPop {
  6. position: absolute;
  7. inset: 0;
  8. }
  9. :global {
  10. .vjs-poster,
  11. .vjs-text-track-display {
  12. cursor: default !important;
  13. }
  14. }
  15. .sectionAnimate {
  16. opacity: 0;
  17. pointer-events: none;
  18. transform: translateY(126px);
  19. transition: all .2s;
  20. }
  21. .controls {
  22. position: absolute;
  23. bottom: 0;
  24. left: 0;
  25. right: 0;
  26. width: 100%;
  27. background: url('../image/../image/bg.png') no-repeat;
  28. background-size: 100% 100%;
  29. // backdrop-filter: blur(26px);
  30. height: 120px;
  31. padding: 0 40px !important;
  32. transition: all 0.301s;
  33. display: flex;
  34. justify-content: center;
  35. flex-direction: column;
  36. .time {
  37. display: flex;
  38. justify-content: space-between;
  39. color: #fff;
  40. // font-size: 10px;
  41. padding: 4px 20px 4px;
  42. font-size: 24px;
  43. font-weight: 600;
  44. line-height: 33px;
  45. &>div {
  46. font-size: 20px !important;
  47. color: rgba(255, 255, 255, 0.8);
  48. }
  49. .line {
  50. font-size: 20px;
  51. }
  52. :global {
  53. .plyr__time+.plyr__time:before {
  54. content: '';
  55. margin-right: 0;
  56. }
  57. }
  58. }
  59. }
  60. .tools {
  61. display: flex;
  62. justify-content: space-between;
  63. padding: 0 10px;
  64. margin-top: 10px;
  65. }
  66. .actions {
  67. display: flex;
  68. justify-content: space-between;
  69. // width: 100%;
  70. height: 100%;
  71. color: #fff;
  72. font-size: 12px;
  73. align-items: center;
  74. .actionWrap {
  75. display: flex;
  76. align-items: center;
  77. }
  78. .downloadSpeed {
  79. font-weight: 600;
  80. font-size: max(18px, 14Px);
  81. color: #FFFFFF;
  82. line-height: 25px;
  83. padding-left: 22px;
  84. }
  85. .actionBtn {
  86. width: 40px;
  87. height: 40px;
  88. background: transparent;
  89. cursor: pointer;
  90. &>img {
  91. width: 100%;
  92. height: 100%;
  93. }
  94. }
  95. .actionBtnSpeed {
  96. position: relative;
  97. width: 40px;
  98. height: 40px;
  99. background-color: transparent;
  100. cursor: pointer;
  101. &>img {
  102. width: 100%;
  103. height: 100%;
  104. }
  105. }
  106. .iconReplay {
  107. width: 40px;
  108. height: 40px;
  109. background-color: transparent;
  110. cursor: pointer;
  111. margin: 0 22px;
  112. &>img {
  113. width: 100%;
  114. height: 100%;
  115. }
  116. }
  117. }
  118. .slider {
  119. width: 100%;
  120. padding-top: 6px;
  121. :global {
  122. .n-slider .n-slider-rail .n-slider-rail__fill,
  123. .n-slider .n-slider-handles .n-slider-handle-wrapper {
  124. transition: all .2s;
  125. }
  126. .n-slider .n-slider-rail .n-slider-rail__fill {
  127. z-index: 1;
  128. }
  129. .n-slider-handle-wrapper {
  130. z-index: 1 !important;
  131. }
  132. .n-slider-handles::after {
  133. content: '';
  134. width: var(--catch-width);
  135. position: absolute;
  136. border-radius: calc(var(--n-rail-height) / 2);
  137. top: 0;
  138. bottom: 0;
  139. left: -8Px;
  140. // right: -8Px;
  141. background-color: #909090;
  142. }
  143. }
  144. }
  145. }
  146. .sliderPopup {
  147. position: absolute;
  148. z-index: 9999;
  149. left: -10px;
  150. bottom: 55px;
  151. display: flex;
  152. align-items: center;
  153. flex-direction: column;
  154. height: 252px;
  155. width: 59px;
  156. padding: 12Px 0 15Px;
  157. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAI4AAAJcCAMAAAAYSmw3AAAAaVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnbPKNAAAAI3RSTlOzAAUJiqaplqF6V0c4nSevpJN+GAZtX1EQGpqDPTQVc2QhqyTybJ0AAAKuSURBVHja7NRJVsJQAAXRRxMg9BwgGWX/2xT0KCKII5M/uHcFNaqMntm25+mm2uVf7KrN9NxuR8885ozX9Sw9mNXr8Z85p2WV3lTL0+uc1SK9Wqxe5HTz9G7e/ZbTZBDN05xJnYHUk8ec4yGDORx/5hz3GdD+eJ8zOWRQh8ldTp2B1d9zmgyuueV0KUD3lTNPAeafOasUYfWRc1qkCIvTe84yhVhec8ZVClGNLznrFGM9yvAHvKkvObMUYzbKNgXZpk1B2pxTkHOmKcg0mxRkk2ImeFVll4IUFQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAG3twIAAAAAAA5P/aCKqqqqqqqqqqqqqqqtJ+nSQ3CgVRFH2XjwCjHnWoCTXe/yJrUlEljCz7R9riD/Ks4E7yRaRzzjnnnHPOOeecc845zZWQuUZKyEhTJWSqXAnJtVFCNtopITvNlJCZKJSMAvGmZLwhJkrGBJElM4SjDEGtRNQgCJWSUAUQMFYSxoAASiWgBBCQxnFN/uWw1eC2/M+h0cAa7nNCqUGVoZPDaqEBLVZ0c9iXGky552MOodFAmkA/B64axBUe5jA56OUOE+6IjvFCL7UY0yG6Ql3oZYo68DwH1qfmXS/w3pzWfCQeyGb1Ja8K/ZKiyi/1LOMB8UTWFzcH4+wBnhCRsmNEDbFErPW3e3ZEE9FCrm+p6THkWHu29BlyjD1XIthyCEt9YUMEaw7tFz0XIthzaMvnz3YUew7tQZ86ZsSx53Ce6hP5mqcsOfE9eSCePYdVpQeWhhqEwX6hnrLFQFjcej2HFgthchupY3rGRNjcCt2pVtgIo1lxV7PHSFjtl/orP2Ml7E7HuTRvTtiJH9G2/AiRlD84lRqqt/0KYQAAAABJRU5ErkJggg==') no-repeat top center;
  158. background-size: contain;
  159. .iconAdd,
  160. .iconCut {
  161. display: inline-block;
  162. width: 24Px;
  163. height: 24Px;
  164. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAABMlBMVEUAAAAkqP8ckv8zu/8op/81v/8ajv8elP82v/8rrv8elP4npv8yuf8elP8elf81v/8sr/8elf8vuv8dlv8srv8jn/8zu/8wtf82wP8oqP8npf8Zjf8mpP8Zjf8hmv8bj/40vP8wtP81wP8Zjf41vv8sr/8jnf8aj/0zuf8dlf81vv8rq/4kof4vsf8imP8aj/////8usv8qrP4jn/4inP4dlP4yuf8el/4srv8pqv4gmf4bkf40vf8ssP4wtP8lov4koP4xt/8npv4mpP4zu/8hmv4ajv4ckv4wtv4op/58x/5+y/6Cxv5/zf57xP6Dx/6BxP7u+P/t9/6a1f6Bz/56w/5iuP5zwP5Bpv4yoP6x3/6w3f6d2/6Wzv5tyf5pwv5nvv5svP5Rsv5Pr/5Mq/43p/49/opPAAAAMHRSTlMACoRW+Pf38dTUurGDWEhHR0cjI/b28fHr6+vr19fQ0Lq6sbGoqKiolZWGhoZSUlKk1yinAAAB+UlEQVQ4y43S6VbaQACG4S9E9h3c933fatISI4sWYxUjAVQQ99r2/m+hGQfGMJNEHw4M+XhPTn4AjpQNLM1MhUJTM0uBrAQ/qbXQmUNoLQUve3Nngrk9uMnHjlzF8hAkw0cewklwAr98BDBg47uvjYH72oNx1/WuHfdOFgqFu3qj8bfgiT13Pmy3DbNhtr3jcB5UTNe7DdM0f6s69dRqPemcGG13dV3t2G2737b3bW2+3gUxaxh/LHJfo+eWxLcGZxa2lKqqHcsyuyph2G8aq71rdpL/yar9tW5ZbypTJ3Fd5a0C0oiiKG9W51hhaKzwRiRkFeJfVRFiQRbbx4IaiWvivo14RUBjcY9julKlKtXXGvVA4ofexWuV/T6NyWrf9b6raxZMYuhnX8s9brFgyBE33eOmI5646PN6DBZMIHpIXJCPl0vqnjT3vYuXj9+jiB8KLkl8Je5xbB0Irt5jcd9C5utxBtKwph1oBDtprPH7sASsaFpJs5XYSeMSv68AyJR4NyS+EeYMbNFvHBrzaxTEDj8/k/iZX3fwboGby4/N5mOZGxdA5cbKnxrLoUcunxMn596nDCZx8okEHNZ/+FrHgIRfmwBHHj31MCpDkJsvntqvov0eOOdzcCNHioKIDC/p5aCzDC6n4UdKby5GxoPB8cjiZlrCoP+meld2tFTGwgAAAABJRU5ErkJggg==') no-repeat center;
  165. background-size: contain;
  166. flex-shrink: 0;
  167. cursor: pointer;
  168. &.disabled {
  169. opacity: 0.7;
  170. }
  171. }
  172. .iconCut {
  173. background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAsCAMAAAApWqozAAABGlBMVEUAAAAkqP8zu/8op/8ajv8aj/8yuP8elP4npv4dlP8elP8yuP8elP81v/8sr/8jnf8Zjf81v/81v/8jn/8zu/8wtf8gl/82wP8oqP8npf83wP8qqv8mpP8Zjf81vf8tsv8hmv8bj/41wP8qqv8lof8Zjf41vv8sr/8jnf8aj/0zuf8dlf8bjf00vP8xt/8zvf8stv8dmf8dkv8srv8trf8qq/7///8tsP4jn/4us/8srv8gmf4lov4yuf8dlf4wt/8inf4hm/4ck/4bkf4wtP8koP4mpf4fl/4op/40vP8ajv4pqf4zuv98x/5+y/6Bxf40vv80u/6Dx/6a1f5owP5PsP4/p/5zwP4oo/4yoP7u+P7u9/5svP5it/4TfkURAAAANXRSTlMACoT49+66uoaDWFJSR0dHR/j29vHx8evr69fX19fQ0NDQsbGxsaioqKiVlYZYWCMjIyP29l0yDtwAAAGnSURBVDjLjc6HVsIwGAXg27I37r33nkilWloXCGK17OH7v4YpSKSQtPnS5v7n5J6cYIyUPt1bC/j9gbW907QEN+kjf2mE/ygNnvhWacJWHCzXoWem0DUmRAPPHIEoxkSeXETgcPJEaGSx88Rxr6ZpaqOtcUVARTWt0DBNs06yoBGTSd99NV8gXeKnwDV/hYGQqrZNoqerfCH0xVXVaNr3GqqbOGybhlG3LKunG642QaQMXW9altkmaRhk42UKwKGu6xXLquteDgFpRlGUutV8VbzMSEj1h0ZL8ZZC+FVYGLsPwnaxSudWrcJQa9HCKpbehqp3TFVaWIKPzl12uUsLPviKQx12uUMLPiwWi+XBzHsGOR9YxEqZqn0y1MrUCnYy5Uyfd+4gnBEWRlK8nIR0kxN0KwEHuVzWnrNeeQAgmRWUBLEh1t2ALXYvJIa+oEg3iIHLuRdPc5f4c/6Sz+fd/3NQct6DjBHHj66O4SC7dWWMOZv94Jg9w4SL4Ps3WeRzZvACLLH1d8Iu/Od6DDyJ/emvEdP7CbiREvL28sLU1MLytpyQ4PQLtc9vYI2HRk0AAAAASUVORK5CYII=') no-repeat center;
  174. background-size: contain;
  175. }
  176. .sliderPoint {
  177. background: #FFFFFF;
  178. box-shadow: 0px 2px 4px 0px rgba(102, 102, 102, 0.77);
  179. border-radius: 14px;
  180. font-size: 14Px;
  181. font-weight: 500;
  182. height: 22Px;
  183. color: #198CFE;
  184. min-width: 40px;
  185. text-align: center;
  186. vertical-align: text-bottom;
  187. span {
  188. font-size: 12Px;
  189. }
  190. }
  191. :global {
  192. .n-slider {
  193. margin: 7px 0;
  194. padding: 0;
  195. }
  196. }
  197. }
  198. // .videoWrap {
  199. // width: 100%;
  200. // height: 100%;
  201. // --plyr-color-main: #198CFE;
  202. // --plyr-range-track-height: 4px;
  203. // --plyr-tooltip-radius: 3px;
  204. // --plyr-range-thumb-height: 18px;
  205. // :global {
  206. // .plyr--video {
  207. // width: 100%;
  208. // height: 100%;
  209. // }
  210. // .plyr__time {
  211. // display: block !important;
  212. // }
  213. // .plyr__video-wrapper {
  214. // pointer-events: none;
  215. // }
  216. // }
  217. // }
  218. // :global(.bottomFixed).controls {
  219. // width: 100%;
  220. // background: rgba(0, 0, 0, 0.6);
  221. // backdrop-filter: blur(26px);
  222. // height: 150px;
  223. // padding: 0 250px 0 40px !important;
  224. // transition: all 0.5s;
  225. // .time {
  226. // display: flex;
  227. // justify-content: space-between;
  228. // color: #fff;
  229. // // font-size: 10px;
  230. // padding: 4px 0 4px 20px;
  231. // font-size: 24px;
  232. // font-weight: 600;
  233. // line-height: 33px;
  234. // &>div {
  235. // font-size: 24px !important;
  236. // }
  237. // .line {
  238. // font-size: 12px;
  239. // }
  240. // :global {
  241. // .plyr__time+.plyr__time:before {
  242. // content: '';
  243. // margin-right: 0;
  244. // }
  245. // }
  246. // }
  247. // .slider {
  248. // width: 100%;
  249. // padding: 0 20px 0 12px;
  250. // :global {
  251. // .van-slider__button {
  252. // background: var(--van-primary);
  253. // }
  254. // .van-loading {
  255. // width: 100%;
  256. // height: 100%;
  257. // }
  258. // }
  259. // }
  260. // .actions {
  261. // display: flex;
  262. // justify-content: space-between;
  263. // color: #fff;
  264. // font-size: 12px;
  265. // padding-right: 20px;
  266. // align-items: center;
  267. // .actionWrap {
  268. // display: flex;
  269. // }
  270. // .actionBtn {
  271. // display: flex;
  272. // // width: 43px !important;
  273. // // height: 43px !important;
  274. // width: 82px;
  275. // height: 82px;
  276. // padding: 4px 0;
  277. // background: transparent;
  278. // }
  279. // .actionBtn>img {
  280. // width: 100%;
  281. // height: 100%;
  282. // }
  283. // :global {
  284. // .van-loading__circular {
  285. // width: 100%;
  286. // height: 100%;
  287. // }
  288. // }
  289. // .playIcon {
  290. // display: none;
  291. // }
  292. // .btnPlay img:nth-child(2) {
  293. // display: block;
  294. // }
  295. // .btnPause img:nth-child(3) {
  296. // display: block;
  297. // }
  298. // .btnPlay,
  299. // .btnPause {
  300. // :global {
  301. // .van-loading {
  302. // display: none;
  303. // }
  304. // }
  305. // }
  306. // .loopBtn {
  307. // background-color: transparent;
  308. // width: 43px;
  309. // height: 42px;
  310. // padding: 0;
  311. // cursor: pointer;
  312. // :global {
  313. // .loop {
  314. // display: block;
  315. // }
  316. // .loopActive {
  317. // display: none;
  318. // }
  319. // }
  320. // }
  321. // }
  322. // }