index.css 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. .flex-auto {
  2. flex: auto;
  3. }
  4. .bg-transparent {
  5. background-color: rgba(0,0,0,0.9);
  6. transition-duration: 0.35s;
  7. }
  8. .l-clipper {
  9. width: 100vw;
  10. height: calc(100vh - var(--window-top));
  11. background-color: rgba(0,0,0,0.9);
  12. position: fixed;
  13. top: var(--window-top);
  14. left: 0;
  15. z-index: 1;
  16. }
  17. .l-clipper-mask {
  18. position: relative;
  19. z-index: 2;
  20. pointer-events: none;
  21. }
  22. .l-clipper__content {
  23. pointer-events: none;
  24. position: absolute;
  25. border: 1rpx solid rgba(255,255,255,0.3);
  26. box-sizing: border-box;
  27. box-shadow: rgba(0,0,0,0.5) 0 0 0 80vh;
  28. background: transparent;
  29. }
  30. .l-clipper__content::before,
  31. .l-clipper__content::after {
  32. content: '';
  33. position: absolute;
  34. border: 1rpx dashed rgba(255,255,255,0.3);
  35. }
  36. .l-clipper__content::before {
  37. width: 100%;
  38. top: 33.33%;
  39. height: 33.33%;
  40. border-left: none;
  41. border-right: none;
  42. }
  43. .l-clipper__content::after {
  44. width: 33.33%;
  45. left: 33.33%;
  46. height: 100%;
  47. border-top: none;
  48. border-bottom: none;
  49. }
  50. .l-clipper__edge {
  51. position: absolute;
  52. width: 34rpx;
  53. height: 34rpx;
  54. border: 6rpx solid #fff;
  55. pointer-events: auto;
  56. }
  57. .l-clipper__edge::before {
  58. content: '';
  59. position: absolute;
  60. width: 40rpx;
  61. height: 40rpx;
  62. background-color: transparent;
  63. }
  64. .l-clipper__edge:nth-child(1) {
  65. left: -6rpx;
  66. top: -6rpx;
  67. border-bottom-width: 0 !important;
  68. border-right-width: 0 !important;
  69. }
  70. .l-clipper__edge:nth-child(1):before {
  71. top: -50%;
  72. left: -50%;
  73. }
  74. .l-clipper__edge:nth-child(2) {
  75. right: -6rpx;
  76. top: -6rpx;
  77. border-bottom-width: 0 !important;
  78. border-left-width: 0 !important;
  79. }
  80. .l-clipper__edge:nth-child(2):before {
  81. top: -50%;
  82. left: 50%;
  83. }
  84. .l-clipper__edge:nth-child(3) {
  85. left: -6rpx;
  86. bottom: -6rpx;
  87. border-top-width: 0 !important;
  88. border-right-width: 0 !important;
  89. }
  90. .l-clipper__edge:nth-child(3):before {
  91. bottom: -50%;
  92. left: -50%;
  93. }
  94. .l-clipper__edge:nth-child(4) {
  95. right: -6rpx;
  96. bottom: -6rpx;
  97. border-top-width: 0 !important;
  98. border-left-width: 0 !important;
  99. }
  100. .l-clipper__edge:nth-child(4):before {
  101. bottom: -50%;
  102. left: 50%;
  103. }
  104. .l-clipper-image {
  105. width: 100%;
  106. border-style: none;
  107. position: absolute;
  108. top: 0;
  109. left: 0;
  110. z-index: 1;
  111. -webkit-backface-visibility: hidden;
  112. backface-visibility: hidden;
  113. transform-origin: center;
  114. }
  115. .l-clipper-canvas {
  116. position: fixed;
  117. z-index: 10;
  118. left: -200vw;
  119. top: -200vw;
  120. pointer-events: none;
  121. }
  122. .l-clipper-tools {
  123. position: fixed;
  124. left: 0;
  125. bottom: 10px;
  126. width: 100%;
  127. z-index: 99;
  128. color: #fff;
  129. }
  130. .l-clipper-tools__btns {
  131. font-weight: bold;
  132. display: flex;
  133. align-items: center;
  134. justify-content: space-between;
  135. width: 100%;
  136. padding: 20rpx 40rpx;
  137. box-sizing: border-box;
  138. }
  139. .l-clipper-tools__btns .cancel {
  140. width: 112rpx;
  141. height: 60rpx;
  142. text-align: center;
  143. line-height: 60rpx;
  144. }
  145. .l-clipper-tools__btns .confirm {
  146. width: 112rpx;
  147. height: 60rpx;
  148. line-height: 60rpx;
  149. background-color: #07c160;
  150. border-radius: 6rpx;
  151. text-align: center;
  152. }
  153. .l-clipper-tools__btns image {
  154. display: block;
  155. width: 60rpx;
  156. height: 60rpx;
  157. }
  158. .l-clipper-tools__btns {
  159. flex-direction: row;
  160. }