huhaoguanli.wxss 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373
  1. .container {
  2. position: relative;
  3. width: 100%;
  4. min-height: 100vh;
  5. display: flex;
  6. flex-direction: column;
  7. box-sizing: border-box;
  8. overflow: hidden; /* 防止内容溢出 */
  9. }
  10. /* 背景图片样式 */
  11. .header {
  12. position: fixed; /* 改为fixed确保不随滚动而移动 */
  13. top: 0;
  14. left: 0;
  15. width: 100%;
  16. z-index: -1; /* 负值z-index确保在最底层 */
  17. }
  18. .background {
  19. width: 101%;
  20. height: auto;
  21. }
  22. .custom-nav {
  23. display: flex;
  24. align-items: center;
  25. height: 90rpx;
  26. margin-bottom: 20rpx;
  27. position: fixed;
  28. top: 0;
  29. left: 0;
  30. right: 0;
  31. z-index: 1000;
  32. padding: 0 20rpx;
  33. padding-top: 88rpx; /* 适配iPhone状态栏,44px转换为88rpx */
  34. }
  35. .back-icon {
  36. position: fixed;
  37. top: 115rpx;
  38. left: 30rpx;
  39. z-index: 999;
  40. width: 40rpx;
  41. height: 40rpx;
  42. }
  43. .nav-title {
  44. flex: 1;
  45. text-align: center;
  46. font-size: 34rpx;
  47. color: #fff;
  48. }
  49. /* 滚动区域样式 */
  50. .scroll-area {
  51. flex: 1;
  52. width: 100%;
  53. padding: 0 2%;
  54. box-sizing: border-box;
  55. position: fixed; /* 固定位置 */
  56. top: calc(90rpx + 88rpx + 20rpx); /* 导航栏高度 + 状态栏 + 间距,44px转换为88rpx */
  57. bottom: 148rpx; /* 底部按钮高度 + 底部padding */
  58. left: 0;
  59. right: 0;
  60. z-index: 10; /* 确保在背景之上,导航栏之下 */
  61. }
  62. /* 卡片列表样式 */
  63. .card-list {
  64. width: 100%;
  65. padding-bottom: 40rpx;
  66. }
  67. .card {
  68. width: 96%;
  69. margin: 0 auto 20rpx;
  70. border-radius: 16rpx;
  71. box-shadow: 0rpx 6rpx 12rpx rgba(0, 0, 0, 0.16);
  72. position: relative;
  73. overflow: hidden;
  74. }
  75. .card-inner {
  76. position: relative;
  77. width: 100%;
  78. padding: 30rpx;
  79. box-sizing: border-box;
  80. overflow: hidden; /* 确保内容不溢出 */
  81. }
  82. .card-background {
  83. position: absolute;
  84. top: 0;
  85. left: -2%;
  86. width: 104%;
  87. height: 100%;
  88. z-index: -1;
  89. border-radius: 16rpx;
  90. background: linear-gradient(150.23deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) 50.4%, rgba(255, 255, 255, 1) 100%);
  91. }
  92. .card-header {
  93. margin-bottom: 20rpx;
  94. }
  95. .name-tag {
  96. display: flex;
  97. align-items: center;
  98. }
  99. .name {
  100. font-size: 40rpx;
  101. font-weight: bold;
  102. margin-right: 20rpx;
  103. }
  104. .tag {
  105. font-size: 26rpx;
  106. padding: 4rpx 12rpx;
  107. background-color: #e6f7ff;
  108. color: #1890ff;
  109. border-radius: 8rpx;
  110. }
  111. .card-body {
  112. display: flex;
  113. flex-direction: column;
  114. margin-bottom: 30rpx;
  115. }
  116. .phone, .address {
  117. font-size: 30rpx;
  118. color: rgba(104, 108, 128, 1);
  119. margin-bottom: 10rpx;
  120. }
  121. .card-footer {
  122. display: flex;
  123. justify-content: flex-start;
  124. align-items: center;
  125. margin-top: 40rpx;
  126. }
  127. .button-group {
  128. display: flex;
  129. flex-wrap: wrap;
  130. gap: 20rpx;
  131. }
  132. .unbind-btn {
  133. font-size: 30rpx !important;
  134. font-weight: 400 !important;
  135. padding: 8rpx 20rpx;
  136. background-color: rgba(239, 93, 93, 1);
  137. color: rgba(255, 255, 255, 1);
  138. border-radius: 30rpx;
  139. min-width: auto;
  140. line-height: 1.8;
  141. margin: 0;
  142. }
  143. .default-btn {
  144. font-size: 30rpx;
  145. font-weight: 400;
  146. padding: 8rpx 20rpx;
  147. background-color: #f0f8ff;
  148. color: #1976d2;
  149. border-radius: 30rpx;
  150. border: 1px solid #bbdefb;
  151. min-width: auto;
  152. line-height: 1.8;
  153. }
  154. .default-tag {
  155. font-size: 30rpx;
  156. font-weight: 400;
  157. padding: 8rpx 20rpx;
  158. background-color: transparent;
  159. color: #2e7d32;
  160. min-width: auto;
  161. border: 1px solid #2e7d32;
  162. border-radius: 30rpx;
  163. line-height: 1.8;
  164. }
  165. /* 底部按钮容器 */
  166. .bottom-btn-container {
  167. position: fixed;
  168. bottom: 0;
  169. left: 0;
  170. width: 100%;
  171. padding: 30rpx 5%;
  172. box-sizing: border-box;
  173. background-color: #fff;
  174. box-shadow: 0 -8rpx 40rpx rgba(0, 0, 0, 0.05);
  175. z-index: 100;
  176. }
  177. .bind-new-btn {
  178. width: 100%;
  179. height: 88rpx;
  180. line-height: 88rpx;
  181. background-color: rgba(46, 130, 255, 1);
  182. color: #fff;
  183. font-size: 32rpx;
  184. font-weight: 600;
  185. border-radius: 44rpx;
  186. }
  187. /* 解绑确认弹窗样式 */
  188. .modal-mask {
  189. position: fixed;
  190. top: 0;
  191. left: 0;
  192. right: 0;
  193. bottom: 0;
  194. background: rgba(0, 0, 0, 0.5);
  195. display: flex;
  196. justify-content: center;
  197. align-items: center;
  198. z-index: 1000;
  199. }
  200. .modal-content {
  201. position: relative;
  202. width: 600rpx;
  203. height: 400rpx;
  204. background: #fff;
  205. border-radius: 20rpx;
  206. overflow: visible;
  207. }
  208. .modal-icon-wrapper {
  209. position: absolute;
  210. top: -48rpx;
  211. left: 50%;
  212. transform: translateX(-50%);
  213. width: 96rpx;
  214. height: 96rpx;
  215. z-index: 1001;
  216. }
  217. .modal-icon {
  218. width: 96rpx;
  219. height: 96rpx;
  220. }
  221. .modal-body {
  222. padding: 100rpx 40rpx 40rpx;
  223. }
  224. .modal-title {
  225. font-size: 36rpx;
  226. font-weight: 500;
  227. text-align: center;
  228. margin-bottom: 30rpx;
  229. }
  230. .modal-desc {
  231. font-size: 28rpx;
  232. font-weight: 400;
  233. color: rgba(134, 141, 155, 1);
  234. text-align: center;
  235. margin-bottom: 40rpx;
  236. }
  237. .modal-btns {
  238. display: flex;
  239. justify-content: space-between;
  240. }
  241. .cancel-btn, .confirm-btn {
  242. width: 240rpx;
  243. height: 80rpx;
  244. line-height: 80rpx;
  245. text-align: center;
  246. border-radius: 40rpx;
  247. font-size: 30rpx;
  248. font-weight: 400;
  249. }
  250. .cancel-btn {
  251. background: #f0f0f0;
  252. color: #333;
  253. }
  254. .confirm-btn {
  255. background: rgba(46, 130, 255, 1);
  256. color: #fff;
  257. }
  258. .card-content {
  259. position: relative;
  260. padding: 40rpx 32rpx;
  261. z-index: 2;
  262. }
  263. .title {
  264. font-size: 36rpx;
  265. font-weight: 500;
  266. margin-bottom: 12rpx;
  267. letter-spacing: 0rpx;
  268. line-height: 48rpx;
  269. color: rgba(46, 48, 56, 1);
  270. text-align: left;
  271. vertical-align: top;
  272. font-family: 'PingFang SC', sans-serif;
  273. }
  274. .subtitle {
  275. font-size: 26rpx;
  276. color: #999;
  277. margin-bottom: 32rpx;
  278. letter-spacing: 4rpx;
  279. }
  280. .bind-button {
  281. width: 200rpx !important;
  282. height: 70rpx;
  283. line-height: 70rpx;
  284. background: rgba(239, 93, 93, 1);
  285. color: #fff;
  286. font-size: 30rpx;
  287. border-radius: 40rpx;
  288. margin-left: 0rpx;
  289. /* 向左50rpx */
  290. top: 40rpx;
  291. /* 向下50rpx */
  292. }
  293. .divider {
  294. left: 72rpx;
  295. top: 402rpx;
  296. width: 30rpx;
  297. height: 0rpx;
  298. opacity: 1;
  299. border: 2rpx solid rgba(232, 232, 232, 1);
  300. }
  301. .current-user-card {
  302. position: relative;
  303. }
  304. .current-user-card::before {
  305. content: "";
  306. position: absolute;
  307. top: 0;
  308. left: 0;
  309. right: 0;
  310. bottom: 0;
  311. border: 6rpx solid #1e6602;
  312. border-radius: 16rpx;
  313. pointer-events: none;
  314. z-index: 10;
  315. box-sizing: border-box;
  316. }
  317. .current-user-card::after {
  318. content: "";
  319. position: absolute;
  320. top: 10rpx;
  321. right: 10rpx;
  322. width: 40rpx;
  323. height: 40rpx;
  324. background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%233580f1"><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41L9 16.17z"/></svg>') no-repeat;
  325. background-size: contain;
  326. z-index: 10;
  327. }
  328. .default-account-card {
  329. position: relative;
  330. }