myStar.scss 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. // 导入FontAwesome
  2. @import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css");
  3. .star-container {
  4. width: 100%;
  5. min-height: 100vh;
  6. background-color: #f5f5f5;
  7. .loading-area {
  8. position: fixed;
  9. top: 0;
  10. left: 0;
  11. right: 0;
  12. bottom: 0;
  13. display: flex;
  14. flex-direction: column;
  15. justify-content: center;
  16. align-items: center;
  17. background: url("../../static/me/loadBackground.png") no-repeat top center /
  18. 100% auto,
  19. #fff;
  20. .svga-player {
  21. width: 200px;
  22. height: 200px;
  23. }
  24. }
  25. .star-content {
  26. width: 100%;
  27. padding: 20rpx;
  28. }
  29. .gender-popup {
  30. position: fixed;
  31. top: 0;
  32. left: 0;
  33. right: 0;
  34. bottom: 0;
  35. background: rgba(0, 0, 0, 0.5);
  36. display: flex;
  37. justify-content: top center;
  38. align-items: center;
  39. z-index: 1000;
  40. }
  41. .character-page {
  42. width: 100%;
  43. min-height: 100vh;
  44. background-color: #f5f5f5;
  45. display: flex;
  46. flex-direction: column;
  47. position: relative;
  48. .character-container {
  49. flex: 1;
  50. display: flex;
  51. justify-content: center;
  52. align-items: center;
  53. padding: 40rpx;
  54. margin-bottom: 120rpx; // 为底部按钮留出空间
  55. .character-image {
  56. width: 100%;
  57. // height: 800rpx; // 调整角色图片高度
  58. object-fit: contain;
  59. }
  60. }
  61. .bottom-button {
  62. position: fixed;
  63. bottom: 40rpx;
  64. left: 40rpx;
  65. right: 40rpx;
  66. height: 98rpx;
  67. background: #333333;
  68. border-radius: 49rpx;
  69. display: flex;
  70. align-items: center;
  71. justify-content: center;
  72. color: #ffffff;
  73. font-size: 32rpx;
  74. font-weight: 500;
  75. box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
  76. transition: all 0.2s ease;
  77. &:active {
  78. opacity: 0.95;
  79. transform: scale(0.98);
  80. }
  81. }
  82. }
  83. }
  84. @keyframes rotate {
  85. from {
  86. transform: rotate(0deg);
  87. }
  88. to {
  89. transform: rotate(-360deg);
  90. }
  91. }
  92. @keyframes moveBall {
  93. 0% {
  94. transform: translateY(0) scale(1);
  95. opacity: 1;
  96. }
  97. 98% {
  98. transform: translateY(180rpx) scale(0.1);
  99. opacity: 0.2;
  100. }
  101. 99% {
  102. transform: translateY(180rpx) scale(0.01);
  103. opacity: 0;
  104. }
  105. 100% {
  106. transform: translateY(0) scale(1);
  107. opacity: 0;
  108. }
  109. }
  110. .form-page {
  111. width: 100%;
  112. min-height: 100vh;
  113. background: url("../../static/me/cz_bg_top.png") no-repeat top center / 100%
  114. auto,
  115. #f2f6f2;
  116. padding: 30rpx;
  117. box-sizing: border-box;
  118. .reserveASeat {
  119. width: 100vh;
  120. height: calc(108rpx + var(--status-bar-height));
  121. }
  122. .PageHeader {
  123. background: url("../../static/me/cz_bg_top.png") no-repeat top center / 100%
  124. auto,
  125. #f2f6f2;
  126. background-position-y: var(--status-bar-height);
  127. }
  128. .form-group {
  129. margin-bottom: 20rpx;
  130. background: #fff;
  131. border-radius: 20rpx;
  132. padding: 20rpx;
  133. padding-bottom: 26rpx;
  134. .label {
  135. display: flex;
  136. align-items: center;
  137. margin-bottom: 16rpx;
  138. font-size: 28rpx;
  139. color: #333;
  140. font-weight: 400;
  141. font-size: 28rpx;
  142. color: #1f1f1f;
  143. font-family: "PingFang SC-Bold";
  144. .required {
  145. color: #ff4d4f;
  146. margin-right: 8rpx;
  147. display: none;
  148. &.error {
  149. animation: shake 0.5s ease-in-out;
  150. }
  151. }
  152. }
  153. .input {
  154. width: 100%;
  155. height: 88rpx;
  156. padding: 0 24rpx;
  157. font-size: 28rpx;
  158. background: #f2f6f2;
  159. border-radius: 16rpx;
  160. &.error {
  161. border: 2rpx solid #ff4d4f;
  162. }
  163. }
  164. .gender-options {
  165. display: flex;
  166. gap: 20rpx;
  167. .gender-option {
  168. width: 152rpx;
  169. height: 64rpx;
  170. border-radius: 16rpx;
  171. border: 2rpx solid #1f1f1f;
  172. display: flex;
  173. align-items: center;
  174. justify-content: center;
  175. font-weight: 400;
  176. font-size: 28rpx;
  177. color: #1f1f1f;
  178. font-family: "PingFang SC-Bold";
  179. image {
  180. width: 32rpx;
  181. height: 32rpx;
  182. margin-bottom: -5rpx;
  183. margin-right: 4rpx;
  184. }
  185. .other {
  186. image {
  187. margin-top: -8rpx;
  188. }
  189. }
  190. &.selected {
  191. background: #f7ffea;
  192. border-color: #7ebc00;
  193. }
  194. }
  195. }
  196. .textarea-container {
  197. position: relative;
  198. .textarea {
  199. width: 100%;
  200. height: 240rpx;
  201. background: #f5f5f5;
  202. border-radius: 12rpx;
  203. padding: 24rpx;
  204. font-size: 28rpx;
  205. &.error {
  206. border: 2rpx solid #ff4d4f;
  207. }
  208. }
  209. .word-count {
  210. position: absolute;
  211. right: 24rpx;
  212. bottom: 24rpx;
  213. font-size: 24rpx;
  214. color: #999;
  215. }
  216. }
  217. .tags-scroll {
  218. width: 100%;
  219. white-space: nowrap;
  220. }
  221. .tags-container {
  222. display: inline-flex;
  223. padding: 20rpx 0;
  224. gap: 20rpx;
  225. .tag {
  226. &.selected {
  227. background: #333;
  228. color: #fff;
  229. }
  230. }
  231. }
  232. }
  233. .submit-button {
  234. position: fixed;
  235. bottom: 40rpx;
  236. left: 40rpx;
  237. right: 40rpx;
  238. height: 98rpx;
  239. background: #333333;
  240. border-radius: 49rpx;
  241. display: flex;
  242. align-items: center;
  243. justify-content: center;
  244. color: #ffffff;
  245. font-size: 32rpx;
  246. font-weight: 500;
  247. transition: all 0.2s ease;
  248. &:active {
  249. opacity: 0.95;
  250. transform: scale(0.98);
  251. }
  252. }
  253. }
  254. @keyframes shake {
  255. 0%,
  256. 100% {
  257. transform: translateX(0);
  258. }
  259. 25% {
  260. transform: translateX(-5rpx);
  261. }
  262. 75% {
  263. transform: translateX(5rpx);
  264. }
  265. }
  266. .character-info {
  267. width: 100%;
  268. min-height: 100vh;
  269. background-color: #f2f6f2;
  270. position: relative;
  271. padding-bottom: 120rpx;
  272. .info-container {
  273. padding-bottom: 30rpx;
  274. .character-portrait {
  275. display: flex;
  276. flex-direction: column;
  277. align-items: center;
  278. margin-bottom: 40rpx;
  279. .portrait-image {
  280. width: 100%;
  281. // height: 600rpx;
  282. object-fit: contain;
  283. }
  284. }
  285. .info-section {
  286. padding: 0 20rpx;
  287. .character-name {
  288. font-size: 40rpx;
  289. font-weight: 600;
  290. color: #333;
  291. margin-bottom: 20rpx;
  292. height: 94rpx;
  293. background: #ffffff;
  294. border-radius: 20rpx;
  295. display: flex;
  296. align-items: center;
  297. padding: 22rpx 32rpx;
  298. font-weight: 400;
  299. font-size: 36rpx;
  300. font-family: PingFang SC-Bold;
  301. color: #1f1f1f;
  302. image {
  303. width: 32rpx;
  304. height: 32rpx;
  305. margin-bottom: -5rpx;
  306. margin-left: 8rpx;
  307. }
  308. .other {
  309. image {
  310. margin-top: -8rpx;
  311. }
  312. }
  313. }
  314. background: #f2f6f2;
  315. border-radius: 20rpx;
  316. padding: 30rpx;
  317. .description-box {
  318. background: #ffffff;
  319. border-radius: 16rpx;
  320. padding: 24rpx;
  321. margin-bottom: 30rpx;
  322. .description-title {
  323. font-weight: 400;
  324. font-size: 32rpx;
  325. color: #1f1f1f;
  326. font-family: "PingFang SC-Bold";
  327. display: flex;
  328. align-items: center;
  329. justify-content: space-between;
  330. padding-bottom: 20rpx;
  331. .edit-button {
  332. font-size: 24rpx;
  333. color: #999;
  334. display: flex;
  335. align-items: center;
  336. justify-content: center;
  337. .fa{
  338. color: #999 !important;
  339. font-size: 36rpx;
  340. margin-left: 10rpx;
  341. }
  342. }
  343. }
  344. .description-text {
  345. font-size: 28rpx;
  346. color: #666;
  347. line-height: 1.6;
  348. min-height: 280rpx;
  349. }
  350. }
  351. .tags-box {
  352. display: flex;
  353. flex-wrap: wrap;
  354. gap: 16rpx;
  355. padding: 16rpx 0;
  356. .tag-item {
  357. padding: 12rpx 18rpx 10rpx 18rpx;
  358. background: #fff;
  359. border-radius: 12rpx;
  360. border: 2rpx solid #E6E6E6;
  361. font-size: 24rpx;
  362. color: #666;
  363. }
  364. }
  365. }
  366. }
  367. .join-button {
  368. position: fixed;
  369. bottom: 40rpx;
  370. left: 40rpx;
  371. right: 40rpx;
  372. height: 98rpx;
  373. background: #1f1f1f;
  374. border-radius: 49rpx;
  375. display: flex;
  376. align-items: center;
  377. justify-content: center;
  378. color: #ffffff;
  379. font-size: 32rpx;
  380. font-weight: 500;
  381. box-shadow: 0 4rpx 12rpx rgba(156, 39, 176, 0.3);
  382. transition: all 0.2s ease;
  383. &:active {
  384. transform: scale(0.98);
  385. opacity: 0.95;
  386. }
  387. }
  388. }