video.module.less 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393
  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 0;
  42. font-size: 24px;
  43. font-weight: 600;
  44. line-height: 33px;
  45. &.rightTime {
  46. padding: 4px 0 4px 20px;
  47. }
  48. &>div {
  49. font-size: 20px !important;
  50. color: rgba(255, 255, 255);
  51. }
  52. .line {
  53. font-size: 20px;
  54. }
  55. :global {
  56. .plyr__time+.plyr__time:before {
  57. content: '';
  58. margin-right: 0;
  59. }
  60. }
  61. }
  62. }
  63. .tools {
  64. display: flex;
  65. justify-content: space-between;
  66. padding: 0;
  67. margin-top: 10px;
  68. }
  69. .actions {
  70. display: flex;
  71. justify-content: space-between;
  72. // width: 100%;
  73. height: 100%;
  74. color: #fff;
  75. font-size: 12px;
  76. align-items: center;
  77. .actionWrap {
  78. display: flex;
  79. align-items: center;
  80. }
  81. .title {
  82. font-size: max(20px, 16px);
  83. color: #ffffff;
  84. }
  85. .downloadSpeed {
  86. font-weight: 600;
  87. font-size: max(18px, 14Px);
  88. color: #FFFFFF;
  89. line-height: 25px;
  90. padding-left: 22px;
  91. }
  92. .actionBtn {
  93. width: 40px;
  94. height: 40px;
  95. background: transparent;
  96. cursor: pointer;
  97. &>img {
  98. width: 100%;
  99. height: 100%;
  100. }
  101. }
  102. .actionBtnSpeed {
  103. position: relative;
  104. width: 40px;
  105. height: 40px;
  106. background-color: transparent;
  107. cursor: pointer;
  108. &>img {
  109. width: 100%;
  110. height: 100%;
  111. }
  112. }
  113. .iconReplay {
  114. width: 40px;
  115. height: 40px;
  116. background-color: transparent;
  117. cursor: pointer;
  118. margin: 0 22px;
  119. &>img {
  120. width: 100%;
  121. height: 100%;
  122. }
  123. }
  124. }
  125. .slider {
  126. width: 100%;
  127. padding-top: 6px;
  128. display: flex;
  129. align-items: center;
  130. :global {
  131. .n-slider .n-slider-rail .n-slider-rail__fill,
  132. .n-slider .n-slider-handles .n-slider-handle-wrapper {
  133. transition: all .2s;
  134. }
  135. .n-slider .n-slider-rail .n-slider-rail__fill {
  136. z-index: 1;
  137. }
  138. .n-slider-handle-wrapper {
  139. z-index: 1 !important;
  140. }
  141. .n-slider-handles::after {
  142. content: '';
  143. width: var(--catch-width);
  144. position: absolute;
  145. border-radius: calc(var(--n-rail-height) / 2);
  146. top: 0;
  147. bottom: 0;
  148. left: -8Px;
  149. // right: -8Px;
  150. background-color: #909090;
  151. }
  152. }
  153. }
  154. }
  155. .sliderPopup {
  156. position: absolute;
  157. z-index: 9999;
  158. left: -10px;
  159. bottom: 55px;
  160. display: flex;
  161. align-items: center;
  162. flex-direction: column;
  163. height: 252px;
  164. width: 59px;
  165. padding: 12Px 0 15Px;
  166. 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;
  167. background-size: contain;
  168. .iconAdd,
  169. .iconCut {
  170. display: inline-block;
  171. width: 24Px;
  172. height: 24Px;
  173. 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;
  174. background-size: contain;
  175. flex-shrink: 0;
  176. cursor: pointer;
  177. &.disabled {
  178. opacity: 0.7;
  179. }
  180. }
  181. .iconCut {
  182. 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;
  183. background-size: contain;
  184. }
  185. .sliderPoint {
  186. background: #FFFFFF;
  187. box-shadow: 0px 2px 4px 0px rgba(102, 102, 102, 0.77);
  188. border-radius: 14px;
  189. font-size: 14Px;
  190. font-weight: 500;
  191. height: 22Px;
  192. color: #198CFE;
  193. min-width: 40px;
  194. text-align: center;
  195. vertical-align: text-bottom;
  196. span {
  197. font-size: 12Px;
  198. }
  199. }
  200. :global {
  201. .n-slider {
  202. margin: 7px 0;
  203. padding: 0;
  204. }
  205. }
  206. }
  207. // .videoWrap {
  208. // width: 100%;
  209. // height: 100%;
  210. // --plyr-color-main: #198CFE;
  211. // --plyr-range-track-height: 4px;
  212. // --plyr-tooltip-radius: 3px;
  213. // --plyr-range-thumb-height: 18px;
  214. // :global {
  215. // .plyr--video {
  216. // width: 100%;
  217. // height: 100%;
  218. // }
  219. // .plyr__time {
  220. // display: block !important;
  221. // }
  222. // .plyr__video-wrapper {
  223. // pointer-events: none;
  224. // }
  225. // }
  226. // }
  227. // :global(.bottomFixed).controls {
  228. // width: 100%;
  229. // background: rgba(0, 0, 0, 0.6);
  230. // backdrop-filter: blur(26px);
  231. // height: 150px;
  232. // padding: 0 250px 0 40px !important;
  233. // transition: all 0.5s;
  234. // .time {
  235. // display: flex;
  236. // justify-content: space-between;
  237. // color: #fff;
  238. // // font-size: 10px;
  239. // padding: 4px 0 4px 20px;
  240. // font-size: 24px;
  241. // font-weight: 600;
  242. // line-height: 33px;
  243. // &>div {
  244. // font-size: 24px !important;
  245. // }
  246. // .line {
  247. // font-size: 12px;
  248. // }
  249. // :global {
  250. // .plyr__time+.plyr__time:before {
  251. // content: '';
  252. // margin-right: 0;
  253. // }
  254. // }
  255. // }
  256. // .slider {
  257. // width: 100%;
  258. // padding: 0 20px 0 12px;
  259. // :global {
  260. // .van-slider__button {
  261. // background: var(--van-primary);
  262. // }
  263. // .van-loading {
  264. // width: 100%;
  265. // height: 100%;
  266. // }
  267. // }
  268. // }
  269. // .actions {
  270. // display: flex;
  271. // justify-content: space-between;
  272. // color: #fff;
  273. // font-size: 12px;
  274. // padding-right: 20px;
  275. // align-items: center;
  276. // .actionWrap {
  277. // display: flex;
  278. // }
  279. // .actionBtn {
  280. // display: flex;
  281. // // width: 43px !important;
  282. // // height: 43px !important;
  283. // width: 82px;
  284. // height: 82px;
  285. // padding: 4px 0;
  286. // background: transparent;
  287. // }
  288. // .actionBtn>img {
  289. // width: 100%;
  290. // height: 100%;
  291. // }
  292. // :global {
  293. // .van-loading__circular {
  294. // width: 100%;
  295. // height: 100%;
  296. // }
  297. // }
  298. // .playIcon {
  299. // display: none;
  300. // }
  301. // .btnPlay img:nth-child(2) {
  302. // display: block;
  303. // }
  304. // .btnPause img:nth-child(3) {
  305. // display: block;
  306. // }
  307. // .btnPlay,
  308. // .btnPause {
  309. // :global {
  310. // .van-loading {
  311. // display: none;
  312. // }
  313. // }
  314. // }
  315. // .loopBtn {
  316. // background-color: transparent;
  317. // width: 43px;
  318. // height: 42px;
  319. // padding: 0;
  320. // cursor: pointer;
  321. // :global {
  322. // .loop {
  323. // display: block;
  324. // }
  325. // .loopActive {
  326. // display: none;
  327. // }
  328. // }
  329. // }
  330. // }
  331. // }