main.wxss 65 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803
  1. /* ==================
  2. 初始化
  3. ==================== */
  4. page {
  5. /* Color 可以自定义相关配色 *//* 标准色 */
  6. --red: #e54d42;
  7. --orange: #f37b1d;
  8. --yellow: #fbbd08;
  9. --olive: #8dc63f;
  10. --green: #39b54a;
  11. --cyan: #1cbbb4;
  12. --blue: #0081ff;
  13. --purple: #6739b6;
  14. --mauve: #9c26b0;
  15. --pink: #e03997;
  16. --brown: #a5673f;
  17. --grey: #8799a3;
  18. --black: #333;
  19. --darkGray: #666;
  20. --gray: #aaa;
  21. --ghostWhite: #f1f1f1;
  22. --white: #fff;
  23. /* 浅色 */
  24. --redLight: #fadbd9;
  25. --orangeLight: #fde6d2;
  26. --yellowLight: #fef2ce;
  27. --oliveLight: #e8f4d9;
  28. --greenLight: #d7f0db;
  29. --cyanLight: #d2f1f0;
  30. --blueLight: #cce6ff;
  31. --purpleLight: #e1d7f0;
  32. --mauveLight: #ebd4ef;
  33. --pinkLight: #f9d7ea;
  34. --brownLight: #ede1d9;
  35. --greyLight: #e7ebed;
  36. /* 渐变色 */
  37. --gradualRed: linear-gradient(45deg, #f43f3b, #ec008c);
  38. --gradualOrange: linear-gradient(45deg, #ff9700, #ed1c24);
  39. --gradualGreen: linear-gradient(45deg, #39b54a, #8dc63f);
  40. --gradualPurple: linear-gradient(45deg, #9000ff, #5e00ff);
  41. --gradualPink: linear-gradient(45deg, #ec008c, #6739b6);
  42. --gradualBlue: linear-gradient(45deg, #0081ff, #1cbbb4);
  43. /* 阴影透明色 */
  44. --ShadowSize: 6rpx 6rpx 8rpx;
  45. --redShadow: rgba(204, 69, 59, 0.2);
  46. --orangeShadow: rgba(217, 109, 26, 0.2);
  47. --yellowShadow: rgba(224, 170, 7, 0.2);
  48. --oliveShadow: rgba(124, 173, 55, 0.2);
  49. --greenShadow: rgba(48, 156, 63, 0.2);
  50. --cyanShadow: rgba(28, 187, 180, 0.2);
  51. --blueShadow: rgba(0, 102, 204, 0.2);
  52. --purpleShadow: rgba(88, 48, 156, 0.2);
  53. --mauveShadow: rgba(133, 33, 150, 0.2);
  54. --pinkShadow: rgba(199, 50, 134, 0.2);
  55. --brownShadow: rgba(140, 88, 53, 0.2);
  56. --greyShadow: rgba(114, 130, 138, 0.2);
  57. --grayShadow: rgba(114, 130, 138, 0.2);
  58. --blackShadow: rgba(26, 26, 26, 0.2);
  59. background-color: var(--ghostWhite);
  60. font-size: 28rpx;
  61. color: var(--black);
  62. font-family: Helvetica Neue, Helvetica, sans-serif;
  63. }
  64. view, scroll-view, swiper, button, input, textarea, label, navigator, image {
  65. box-sizing: border-box;
  66. }
  67. .round {
  68. border-radius: 5000rpx;
  69. }
  70. .radius {
  71. border-radius: 6rpx;
  72. }
  73. /* ==================
  74. 图片
  75. ==================== */
  76. image {
  77. max-width: 100%;
  78. display: inline-block;
  79. position: relative;
  80. z-index: 0;
  81. }
  82. image.loading::before {
  83. content: "";
  84. background-color: #f5f5f5;
  85. display: block;
  86. position: absolute;
  87. width: 100%;
  88. height: 100%;
  89. z-index: -2;
  90. }
  91. image.loading::after {
  92. content: "\e7f1";
  93. font-family: "cuIcon";
  94. position: absolute;
  95. top: 0;
  96. left: 0;
  97. width: 32rpx;
  98. height: 32rpx;
  99. line-height: 32rpx;
  100. right: 0;
  101. bottom: 0;
  102. z-index: -1;
  103. font-size: 32rpx;
  104. margin: auto;
  105. color: #ccc;
  106. -webkit-animation: cuIcon-spin 2s infinite linear;
  107. animation: cuIcon-spin 2s infinite linear;
  108. display: block;
  109. }
  110. .response {
  111. width: 100%;
  112. }
  113. /* ==================
  114. 开关
  115. ==================== */
  116. switch, checkbox, radio {
  117. position: relative;
  118. }
  119. switch::after, switch::before {
  120. font-family: "cuIcon";
  121. content: "\e645";
  122. position: absolute;
  123. color: var(--white) !important;
  124. top: 0%;
  125. left: 0rpx;
  126. font-size: 26rpx;
  127. line-height: 26px;
  128. width: 50%;
  129. text-align: center;
  130. pointer-events: none;
  131. transform: scale(0, 0);
  132. transition: all 0.3s ease-in-out 0s;
  133. z-index: 9;
  134. bottom: 0;
  135. height: 26px;
  136. margin: auto;
  137. }
  138. switch::before {
  139. content: "\e646";
  140. right: 0;
  141. transform: scale(1, 1);
  142. left: auto;
  143. }
  144. switch[checked]::after, switch.checked::after {
  145. transform: scale(1, 1);
  146. }
  147. switch[checked]::before, switch.checked::before {
  148. transform: scale(0, 0);
  149. }
  150. switch[checked]::before {
  151. transform: scale(0, 0);
  152. }
  153. radio::before, checkbox::before {
  154. font-family: "cuIcon";
  155. content: "\e645";
  156. position: absolute;
  157. color: var(--white) !important;
  158. top: 50%;
  159. margin-top: -8px;
  160. right: 5px;
  161. font-size: 32rpx;
  162. line-height: 16px;
  163. pointer-events: none;
  164. transform: scale(1, 1);
  165. transition: all 0.3s ease-in-out 0s;
  166. z-index: 9;
  167. }
  168. radio .wx-radio-input, checkbox .wx-checkbox-input {
  169. margin: 0;
  170. width: 24px;
  171. height: 24px;
  172. }
  173. checkbox.round .wx-checkbox-input {
  174. border-radius: 100rpx;
  175. }
  176. switch .wx-switch-input {
  177. border: none;
  178. padding: 0 24px;
  179. width: 48px;
  180. height: 26px;
  181. margin: 0;
  182. border-radius: 100rpx;
  183. }
  184. switch .wx-switch-input:not([class*="bg-"]) {
  185. background: var(--grey) !important;
  186. }
  187. switch .wx-switch-input::after {
  188. margin: auto;
  189. width: 26px;
  190. height: 26px;
  191. border-radius: 100rpx;
  192. left: 0rpx;
  193. top: 0rpx;
  194. bottom: 0rpx;
  195. position: absolute;
  196. transform: scale(0.9, 0.9);
  197. transition: all 0.1s ease-in-out 0s;
  198. }
  199. switch .wx-switch-input.wx-switch-input-checked::after {
  200. margin: auto;
  201. left: 22px;
  202. box-shadow: none;
  203. transform: scale(0.9, 0.9);
  204. }
  205. radio-group {
  206. display: inline-block;
  207. }
  208. switch.radius .wx-switch-input::after, switch.radius .wx-switch-input,
  209. switch.radius .wx-switch-input::before {
  210. border-radius: 10rpx;
  211. }
  212. switch .wx-switch-input::before, radio.radio::before,
  213. checkbox .wx-checkbox-input::before, radio .wx-radio-input::before,
  214. radio.radio::before {
  215. display: none;
  216. }
  217. radio.radio[checked]::after {
  218. content: "";
  219. background-color: transparent;
  220. display: block;
  221. position: absolute;
  222. width: 8px;
  223. height: 8px;
  224. z-index: 999;
  225. top: 0rpx;
  226. left: 0rpx;
  227. right: 0;
  228. bottom: 0;
  229. margin: auto;
  230. border-radius: 200rpx;
  231. border: 8px solid var(--white) !important;
  232. }
  233. .switch-sex::after {
  234. content: "\e71c";
  235. }
  236. .switch-sex::before {
  237. content: "\e71a";
  238. }
  239. .switch-sex .wx-switch-input {
  240. background: var(--red) !important;
  241. border-color: var(--red) !important;
  242. }
  243. .switch-sex[checked] .wx-switch-input {
  244. background: var(--blue) !important;
  245. border-color: var(--blue) !important;
  246. }
  247. switch.red[checked] .wx-switch-input, checkbox.red[checked] .wx-checkbox-input,
  248. radio.red[checked] .wx-radio-input {
  249. border-color: var(--red) !important;
  250. }
  251. switch.orange[checked] .wx-switch-input,
  252. checkbox.orange[checked] .wx-checkbox-input,
  253. radio.orange[checked] .wx-radio-input {
  254. border-color: var(--orange) !important;
  255. }
  256. switch.yellow[checked] .wx-switch-input,
  257. checkbox.yellow[checked] .wx-checkbox-input,
  258. radio.yellow[checked] .wx-radio-input {
  259. border-color: var(--yellow) !important;
  260. }
  261. switch.olive[checked] .wx-switch-input,
  262. checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
  263. border-color: var(--olive) !important;
  264. }
  265. switch.green[checked] .wx-switch-input,
  266. checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input,
  267. radio.green[checked] .wx-radio-input {
  268. border-color: var(--green) !important;
  269. }
  270. switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input,
  271. radio.cyan[checked] .wx-radio-input {
  272. border-color: var(--cyan) !important;
  273. }
  274. switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input,
  275. radio.blue[checked] .wx-radio-input {
  276. border-color: var(--blue) !important;
  277. }
  278. switch.purple[checked] .wx-switch-input,
  279. checkbox.purple[checked] .wx-checkbox-input,
  280. radio.purple[checked] .wx-radio-input {
  281. border-color: var(--purple) !important;
  282. }
  283. switch.mauve[checked] .wx-switch-input,
  284. checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
  285. border-color: var(--mauve) !important;
  286. }
  287. switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input,
  288. radio.pink[checked] .wx-radio-input {
  289. border-color: var(--pink) !important;
  290. }
  291. switch.brown[checked] .wx-switch-input,
  292. checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
  293. border-color: var(--brown) !important;
  294. }
  295. switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input,
  296. radio.grey[checked] .wx-radio-input {
  297. border-color: var(--grey) !important;
  298. }
  299. switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input,
  300. radio.gray[checked] .wx-radio-input {
  301. border-color: var(--grey) !important;
  302. }
  303. switch.black[checked] .wx-switch-input,
  304. checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
  305. border-color: var(--black) !important;
  306. }
  307. switch.white[checked] .wx-switch-input,
  308. checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
  309. border-color: var(--white) !important;
  310. }
  311. switch.red[checked] .wx-switch-input.wx-switch-input-checked,
  312. checkbox.red[checked] .wx-checkbox-input, radio.red[checked] .wx-radio-input {
  313. background-color: var(--red) !important;
  314. color: var(--white) !important;
  315. }
  316. switch.orange[checked] .wx-switch-input,
  317. checkbox.orange[checked] .wx-checkbox-input,
  318. radio.orange[checked] .wx-radio-input {
  319. background-color: var(--orange) !important;
  320. color: var(--white) !important;
  321. }
  322. switch.yellow[checked] .wx-switch-input,
  323. checkbox.yellow[checked] .wx-checkbox-input,
  324. radio.yellow[checked] .wx-radio-input {
  325. background-color: var(--yellow) !important;
  326. color: var(--black) !important;
  327. }
  328. switch.olive[checked] .wx-switch-input,
  329. checkbox.olive[checked] .wx-checkbox-input, radio.olive[checked] .wx-radio-input {
  330. background-color: var(--olive) !important;
  331. color: var(--white) !important;
  332. }
  333. switch.green[checked] .wx-switch-input, switch[checked] .wx-switch-input,
  334. checkbox.green[checked] .wx-checkbox-input, checkbox[checked] .wx-checkbox-input,
  335. radio.green[checked] .wx-radio-input, radio[checked] .wx-radio-input {
  336. background-color: var(--green) !important;
  337. color: var(--white) !important;
  338. }
  339. switch.cyan[checked] .wx-switch-input, checkbox.cyan[checked] .wx-checkbox-input,
  340. radio.cyan[checked] .wx-radio-input {
  341. background-color: var(--cyan) !important;
  342. color: var(--white) !important;
  343. }
  344. switch.blue[checked] .wx-switch-input, checkbox.blue[checked] .wx-checkbox-input,
  345. radio.blue[checked] .wx-radio-input {
  346. background-color: var(--blue) !important;
  347. color: var(--white) !important;
  348. }
  349. switch.purple[checked] .wx-switch-input,
  350. checkbox.purple[checked] .wx-checkbox-input,
  351. radio.purple[checked] .wx-radio-input {
  352. background-color: var(--purple) !important;
  353. color: var(--white) !important;
  354. }
  355. switch.mauve[checked] .wx-switch-input,
  356. checkbox.mauve[checked] .wx-checkbox-input, radio.mauve[checked] .wx-radio-input {
  357. background-color: var(--mauve) !important;
  358. color: var(--white) !important;
  359. }
  360. switch.pink[checked] .wx-switch-input, checkbox.pink[checked] .wx-checkbox-input,
  361. radio.pink[checked] .wx-radio-input {
  362. background-color: var(--pink) !important;
  363. color: var(--white) !important;
  364. }
  365. switch.brown[checked] .wx-switch-input,
  366. checkbox.brown[checked] .wx-checkbox-input, radio.brown[checked] .wx-radio-input {
  367. background-color: var(--brown) !important;
  368. color: var(--white) !important;
  369. }
  370. switch.grey[checked] .wx-switch-input, checkbox.grey[checked] .wx-checkbox-input,
  371. radio.grey[checked] .wx-radio-input {
  372. background-color: var(--grey) !important;
  373. color: var(--white) !important;
  374. }
  375. switch.gray[checked] .wx-switch-input, checkbox.gray[checked] .wx-checkbox-input,
  376. radio.gray[checked] .wx-radio-input {
  377. background-color: #f0f0f0 !important;
  378. color: var(--black) !important;
  379. }
  380. switch.black[checked] .wx-switch-input,
  381. checkbox.black[checked] .wx-checkbox-input, radio.black[checked] .wx-radio-input {
  382. background-color: var(--black) !important;
  383. color: var(--white) !important;
  384. }
  385. switch.white[checked] .wx-switch-input,
  386. checkbox.white[checked] .wx-checkbox-input, radio.white[checked] .wx-radio-input {
  387. background-color: var(--white) !important;
  388. color: var(--black) !important;
  389. }
  390. /* ==================
  391. 边框
  392. ==================== */
  393. /* -- 实线 -- */
  394. .solid, .solid-top, .solid-right, .solid-bottom, .solid-left, .solids,
  395. .solids-top, .solids-right, .solids-bottom, .solids-left, .dashed, .dashed-top,
  396. .dashed-right, .dashed-bottom, .dashed-left {
  397. position: relative;
  398. }
  399. .solid::after, .solid-top::after, .solid-right::after, .solid-bottom::after,
  400. .solid-left::after, .solids::after, .solids-top::after, .solids-right::after,
  401. .solids-bottom::after, .solids-left::after, .dashed::after, .dashed-top::after,
  402. .dashed-right::after, .dashed-bottom::after, .dashed-left::after {
  403. content: " ";
  404. width: 200%;
  405. height: 200%;
  406. position: absolute;
  407. top: 0;
  408. left: 0;
  409. border-radius: inherit;
  410. transform: scale(0.5);
  411. transform-origin: 0 0;
  412. pointer-events: none;
  413. box-sizing: border-box;
  414. }
  415. .solid::after {
  416. border: 1rpx solid rgba(0, 0, 0, 0.1);
  417. }
  418. .solid-top::after {
  419. border-top: 1rpx solid rgba(0, 0, 0, 0.1);
  420. }
  421. .solid-right::after {
  422. border-right: 1rpx solid rgba(0, 0, 0, 0.1);
  423. }
  424. .solid-bottom::after {
  425. border-bottom: 1rpx solid rgba(0, 0, 0, 0.1);
  426. }
  427. .solid-left::after {
  428. border-left: 1rpx solid rgba(0, 0, 0, 0.1);
  429. }
  430. .solids::after {
  431. border: 8rpx solid #eee;
  432. }
  433. .solids-top::after {
  434. border-top: 8rpx solid #eee;
  435. }
  436. .solids-right::after {
  437. border-right: 8rpx solid #eee;
  438. }
  439. .solids-bottom::after {
  440. border-bottom: 8rpx solid #eee;
  441. }
  442. .solids-left::after {
  443. border-left: 8rpx solid #eee;
  444. }
  445. /* -- 虚线 -- */
  446. .dashed::after {
  447. border: 1rpx dashed #ddd;
  448. }
  449. .dashed-top::after {
  450. border-top: 1rpx dashed #ddd;
  451. }
  452. .dashed-right::after {
  453. border-right: 1rpx dashed #ddd;
  454. }
  455. .dashed-bottom::after {
  456. border-bottom: 1rpx dashed #ddd;
  457. }
  458. .dashed-left::after {
  459. border-left: 1rpx dashed #ddd;
  460. }
  461. /* -- 阴影 -- */
  462. .shadow[class*='white'] {
  463. --ShadowSize: 0 1rpx 6rpx;
  464. }
  465. .shadow-lg {
  466. --ShadowSize: 0rpx 40rpx 100rpx 0rpx;
  467. }
  468. .shadow-warp {
  469. position: relative;
  470. box-shadow: 0 0 10rpx rgba(0, 0, 0, 0.1);
  471. }
  472. .shadow-warp:before, .shadow-warp:after {
  473. position: absolute;
  474. content: "";
  475. top: 20rpx;
  476. bottom: 30rpx;
  477. left: 20rpx;
  478. width: 50%;
  479. box-shadow: 0 30rpx 20rpx rgba(0, 0, 0, 0.2);
  480. transform: rotate(-3deg);
  481. z-index: -1;
  482. }
  483. .shadow-warp:after {
  484. right: 20rpx;
  485. left: auto;
  486. transform: rotate(3deg);
  487. }
  488. .shadow-blur {
  489. position: relative;
  490. }
  491. .shadow-blur::before {
  492. content: "";
  493. display: block;
  494. background: inherit;
  495. filter: blur(10rpx);
  496. position: absolute;
  497. width: 100%;
  498. height: 100%;
  499. top: 10rpx;
  500. left: 10rpx;
  501. z-index: -1;
  502. opacity: 0.4;
  503. transform-origin: 0 0;
  504. border-radius: inherit;
  505. transform: scale(1, 1);
  506. }
  507. /* ==================
  508. 按钮
  509. ==================== */
  510. .cu-btn {
  511. position: relative;
  512. border: 0rpx;
  513. display: inline-flex;
  514. align-items: center;
  515. justify-content: center;
  516. box-sizing: border-box;
  517. padding: 0 30rpx;
  518. font-size: 28rpx;
  519. height: 64rpx;
  520. line-height: 1;
  521. text-align: center;
  522. text-decoration: none;
  523. overflow: visible;
  524. margin-left: initial;
  525. transform: translate(0rpx, 0rpx);
  526. margin-right: initial;
  527. }
  528. .cu-btn::after {
  529. display: none;
  530. }
  531. .cu-btn:not([class*="bg-"]) {
  532. background-color: #f0f0f0;
  533. }
  534. .cu-btn[class*="line"] {
  535. background-color: transparent;
  536. }
  537. .cu-btn[class*="line"]::after {
  538. content: " ";
  539. display: block;
  540. width: 200%;
  541. height: 200%;
  542. position: absolute;
  543. top: 0;
  544. left: 0;
  545. border: 1rpx solid currentColor;
  546. transform: scale(0.5);
  547. transform-origin: 0 0;
  548. box-sizing: border-box;
  549. border-radius: 12rpx;
  550. z-index: 1;
  551. pointer-events: none;
  552. }
  553. .cu-btn.round[class*="line"]::after {
  554. border-radius: 1000rpx;
  555. }
  556. .cu-btn[class*="lines"]::after {
  557. border: 6rpx solid currentColor;
  558. }
  559. .cu-btn[class*="bg-"]::after {
  560. display: none;
  561. }
  562. .cu-btn.sm {
  563. padding: 0 20rpx;
  564. font-size: 20rpx;
  565. height: 48rpx;
  566. }
  567. .cu-btn.lg {
  568. padding: 0 40rpx;
  569. font-size: 32rpx;
  570. height: 80rpx;
  571. }
  572. .cu-btn.icon.sm {
  573. width: 48rpx;
  574. height: 48rpx;
  575. }
  576. .cu-btn.icon {
  577. width: 64rpx;
  578. height: 64rpx;
  579. border-radius: 500rpx;
  580. padding: 0;
  581. }
  582. button.icon.lg {
  583. width: 80rpx;
  584. height: 80rpx;
  585. }
  586. .cu-btn.shadow-blur::before {
  587. top: 4rpx;
  588. left: 4rpx;
  589. filter: blur(6rpx);
  590. opacity: 0.6;
  591. }
  592. .cu-btn.button-hover {
  593. transform: translate(1rpx, 1rpx);
  594. }
  595. .block {
  596. display: block;
  597. }
  598. .cu-btn.block {
  599. display: flex;
  600. }
  601. .cu-btn[disabled] {
  602. opacity: 0.6;
  603. color: var(--white);
  604. }
  605. /* ==================
  606. 徽章
  607. ==================== */
  608. .cu-tag {
  609. font-size: 24rpx;
  610. vertical-align: middle;
  611. position: relative;
  612. display: inline-flex;
  613. align-items: center;
  614. justify-content: center;
  615. box-sizing: border-box;
  616. padding: 0rpx 16rpx;
  617. height: 48rpx;
  618. font-family: Helvetica Neue, Helvetica, sans-serif;
  619. white-space: nowrap;
  620. }
  621. .cu-tag:not([class*="bg"]):not([class*="line"]) {
  622. background-color: var(--ghostWhite);
  623. }
  624. .cu-tag[class*="line-"]::after {
  625. content: " ";
  626. width: 200%;
  627. height: 200%;
  628. position: absolute;
  629. top: 0;
  630. left: 0;
  631. border: 1rpx solid currentColor;
  632. transform: scale(0.5);
  633. transform-origin: 0 0;
  634. box-sizing: border-box;
  635. border-radius: inherit;
  636. z-index: 1;
  637. pointer-events: none;
  638. }
  639. .cu-tag.radius[class*="line"]::after {
  640. border-radius: 12rpx;
  641. }
  642. .cu-tag.round[class*="line"]::after {
  643. border-radius: 1000rpx;
  644. }
  645. .cu-tag[class*="line-"]::after {
  646. border-radius: 0;
  647. }
  648. .cu-tag+.cu-tag {
  649. margin-left: 10rpx;
  650. }
  651. .cu-tag.sm {
  652. font-size: 20rpx;
  653. padding: 0rpx 12rpx;
  654. height: 32rpx;
  655. }
  656. .cu-capsule {
  657. display: inline-flex;
  658. vertical-align: middle;
  659. }
  660. .cu-capsule+.cu-capsule {
  661. margin-left: 10rpx;
  662. }
  663. .cu-capsule .cu-tag {
  664. margin: 0;
  665. }
  666. .cu-capsule .cu-tag[class*="line-"]:last-child::after {
  667. border-left: 0rpx solid transparent;
  668. }
  669. .cu-capsule .cu-tag[class*="line-"]:first-child::after {
  670. border-right: 0rpx solid transparent;
  671. }
  672. .cu-capsule.radius .cu-tag:first-child {
  673. border-top-left-radius: 6rpx;
  674. border-bottom-left-radius: 6rpx;
  675. }
  676. .cu-capsule.radius .cu-tag:last-child::after,
  677. .cu-capsule.radius .cu-tag[class*="line-"] {
  678. border-top-right-radius: 12rpx;
  679. border-bottom-right-radius: 12rpx;
  680. }
  681. .cu-capsule.round .cu-tag:first-child {
  682. border-top-left-radius: 200rpx;
  683. border-bottom-left-radius: 200rpx;
  684. text-indent: 4rpx;
  685. }
  686. .cu-capsule.round .cu-tag:last-child::after,
  687. .cu-capsule.round .cu-tag:last-child {
  688. border-top-right-radius: 200rpx;
  689. border-bottom-right-radius: 200rpx;
  690. text-indent: -4rpx;
  691. }
  692. .cu-tag.badge {
  693. border-radius: 200rpx;
  694. position: absolute;
  695. top: -10rpx;
  696. right: -10rpx;
  697. font-size: 20rpx;
  698. padding: 0rpx 10rpx;
  699. height: 28rpx;
  700. color: var(--white);
  701. }
  702. .cu-tag.badge:not([class*="bg-"]) {
  703. background-color: #dd514c;
  704. }
  705. .cu-tag:empty:not([class*="cuIcon-"]) {
  706. padding: 0rpx;
  707. width: 16rpx;
  708. height: 16rpx;
  709. top: -4rpx;
  710. right: -4rpx;
  711. }
  712. .cu-tag[class*="cuIcon-"] {
  713. width: 32rpx;
  714. height: 32rpx;
  715. top: -4rpx;
  716. right: -4rpx;
  717. }
  718. /* ==================
  719. 头像
  720. ==================== */
  721. .cu-avatar {
  722. font-variant: small-caps;
  723. margin: 0;
  724. padding: 0;
  725. display: inline-flex;
  726. text-align: center;
  727. justify-content: center;
  728. align-items: center;
  729. background-color: #ccc;
  730. color: var(--white);
  731. white-space: nowrap;
  732. position: relative;
  733. width: 64rpx;
  734. height: 64rpx;
  735. background-size: cover;
  736. background-position: center;
  737. vertical-align: middle;
  738. font-size: 1.5em;
  739. }
  740. .cu-avatar.sm {
  741. width: 48rpx;
  742. height: 48rpx;
  743. font-size: 1em;
  744. }
  745. .cu-avatar.lg {
  746. width: 96rpx;
  747. height: 96rpx;
  748. font-size: 2em;
  749. }
  750. .cu-avatar.xl {
  751. width: 128rpx;
  752. height: 128rpx;
  753. font-size: 2.5em;
  754. }
  755. .cu-avatar .avatar-text {
  756. font-size: 0.4em;
  757. }
  758. .cu-avatar-group {
  759. direction: rtl;
  760. unicode-bidi: bidi-override;
  761. padding: 0 10rpx 0 40rpx;
  762. display: inline-block;
  763. }
  764. .cu-avatar-group .cu-avatar {
  765. margin-left: -30rpx;
  766. border: 4rpx solid var(--ghostWhite);
  767. vertical-align: middle;
  768. }
  769. .cu-avatar-group .cu-avatar.sm {
  770. margin-left: -20rpx;
  771. border: 1rpx solid var(--ghostWhite);
  772. }
  773. /* ==================
  774. 进度条
  775. ==================== */
  776. .cu-progress {
  777. overflow: hidden;
  778. height: 28rpx;
  779. background-color: #ebeef5;
  780. display: inline-flex;
  781. align-items: center;
  782. width: 100%;
  783. }
  784. .cu-progress+view, .cu-progress+text {
  785. line-height: 1;
  786. }
  787. .cu-progress.xs {
  788. height: 10rpx;
  789. }
  790. .cu-progress.sm {
  791. height: 20rpx;
  792. }
  793. .cu-progress view {
  794. width: 0;
  795. height: 100%;
  796. align-items: center;
  797. display: flex;
  798. justify-items: flex-end;
  799. justify-content: space-around;
  800. font-size: 20rpx;
  801. color: var(--white);
  802. transition: width 0.6s ease;
  803. }
  804. .cu-progress text {
  805. align-items: center;
  806. display: flex;
  807. font-size: 20rpx;
  808. color: var(--black);
  809. text-indent: 10rpx;
  810. }
  811. .cu-progress.text-progress {
  812. padding-right: 60rpx;
  813. }
  814. .cu-progress.striped view {
  815. background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  816. background-size: 72rpx 72rpx;
  817. }
  818. .cu-progress.active view {
  819. animation: progress-stripes 2s linear infinite;
  820. }
  821. @keyframes progress-stripes {
  822. from {
  823. background-position: 72rpx 0;
  824. }
  825. to {
  826. background-position: 0 0;
  827. }
  828. }
  829. /* ==================
  830. 加载
  831. ==================== */
  832. .cu-load {
  833. display: block;
  834. line-height: 3em;
  835. text-align: center;
  836. }
  837. .cu-load::before {
  838. font-family: "cuIcon";
  839. display: inline-block;
  840. margin-right: 6rpx;
  841. }
  842. .cu-load.loading::before {
  843. content: "\e67a";
  844. animation: cuIcon-spin 2s infinite linear;
  845. }
  846. .cu-load.loading::after {
  847. content: "加载中...";
  848. }
  849. .cu-load.over::before {
  850. content: "\e64a";
  851. }
  852. .cu-load.over::after {
  853. content: "没有更多了";
  854. }
  855. .cu-load.erro::before {
  856. content: "\e658";
  857. }
  858. .cu-load.erro::after {
  859. content: "加载失败";
  860. }
  861. .cu-load.load-icon::before {
  862. font-size: 32rpx;
  863. }
  864. .cu-load.load-icon::after {
  865. display: none;
  866. }
  867. .cu-load.load-icon.over {
  868. display: none;
  869. }
  870. .cu-load.load-modal {
  871. position: fixed;
  872. top: 0;
  873. right: 0;
  874. bottom: 140rpx;
  875. left: 0;
  876. margin: auto;
  877. width: 260rpx;
  878. height: 260rpx;
  879. background-color: var(--white);
  880. border-radius: 10rpx;
  881. box-shadow: 0 0 0rpx 2000rpx rgba(0, 0, 0, 0.5);
  882. display: flex;
  883. align-items: center;
  884. flex-direction: column;
  885. justify-content: center;
  886. font-size: 28rpx;
  887. z-index: 9999;
  888. line-height: 2.4em;
  889. }
  890. .cu-load.load-modal [class*="cuIcon-"] {
  891. font-size: 60rpx;
  892. }
  893. .cu-load.load-modal image {
  894. width: 70rpx;
  895. height: 70rpx;
  896. }
  897. .cu-load.load-modal::after {
  898. content: "";
  899. position: absolute;
  900. background-color: var(--white);
  901. border-radius: 50%;
  902. width: 200rpx;
  903. height: 200rpx;
  904. font-size: 10px;
  905. border-top: 6rpx solid rgba(0, 0, 0, 0.05);
  906. border-right: 6rpx solid rgba(0, 0, 0, 0.05);
  907. border-bottom: 6rpx solid rgba(0, 0, 0, 0.05);
  908. border-left: 6rpx solid var(--orange);
  909. animation: cuIcon-spin 1s infinite linear;
  910. z-index: -1;
  911. }
  912. .load-progress {
  913. pointer-events: none;
  914. top: 0;
  915. position: fixed;
  916. width: 100%;
  917. left: 0;
  918. z-index: 2000;
  919. }
  920. .load-progress.hide {
  921. display: none;
  922. }
  923. .load-progress .load-progress-bar {
  924. position: relative;
  925. width: 100%;
  926. height: 4rpx;
  927. overflow: hidden;
  928. transition: all 200ms ease 0s;
  929. }
  930. .load-progress .load-progress-spinner {
  931. position: absolute;
  932. top: 10rpx;
  933. right: 10rpx;
  934. z-index: 2000;
  935. display: block;
  936. }
  937. .load-progress .load-progress-spinner::after {
  938. content: "";
  939. display: block;
  940. width: 24rpx;
  941. height: 24rpx;
  942. -webkit-box-sizing: border-box;
  943. box-sizing: border-box;
  944. border: solid 4rpx transparent;
  945. border-top-color: inherit;
  946. border-left-color: inherit;
  947. border-radius: 50%;
  948. -webkit-animation: load-progress-spinner 0.4s linear infinite;
  949. animation: load-progress-spinner 0.4s linear infinite;
  950. }
  951. @-webkit-keyframes load-progress-spinner {
  952. 0% {
  953. -webkit-transform: rotate(0);
  954. transform: rotate(0);
  955. }
  956. 100% {
  957. -webkit-transform: rotate(360deg);
  958. transform: rotate(360deg);
  959. }
  960. }
  961. @keyframes load-progress-spinner {
  962. 0% {
  963. -webkit-transform: rotate(0);
  964. transform: rotate(0);
  965. }
  966. 100% {
  967. -webkit-transform: rotate(360deg);
  968. transform: rotate(360deg);
  969. }
  970. }
  971. /* ==================
  972. 列表
  973. ==================== */
  974. .grayscale {
  975. filter: grayscale(1);
  976. }
  977. .cu-list+.cu-list {
  978. margin-top: 30rpx;
  979. }
  980. .cu-list>.cu-item {
  981. transition: all 0.6s ease-in-out 0s;
  982. transform: translateX(0rpx);
  983. }
  984. .cu-list>.cu-item.move-cur {
  985. transform: translateX(-260rpx);
  986. }
  987. .cu-list>.cu-item .move {
  988. position: absolute;
  989. right: 0;
  990. display: flex;
  991. width: 260rpx;
  992. height: 100%;
  993. transform: translateX(100%);
  994. }
  995. .cu-list>.cu-item .move view {
  996. display: flex;
  997. flex: 1;
  998. justify-content: center;
  999. align-items: center;
  1000. }
  1001. .cu-list.menu-avatar {
  1002. overflow: hidden;
  1003. }
  1004. .cu-list.menu-avatar>.cu-item {
  1005. position: relative;
  1006. display: flex;
  1007. padding-right: 10rpx;
  1008. height: 140rpx;
  1009. background-color: var(--white);
  1010. justify-content: flex-end;
  1011. align-items: center;
  1012. }
  1013. .cu-list.menu-avatar>.cu-item>.cu-avatar {
  1014. position: absolute;
  1015. left: 30rpx;
  1016. }
  1017. .cu-list.menu-avatar>.cu-item .flex .text-cut {
  1018. max-width: 510rpx;
  1019. }
  1020. .cu-list.menu-avatar>.cu-item .content {
  1021. position: absolute;
  1022. left: 146rpx;
  1023. width: calc(100% - 96rpx - 60rpx - 120rpx - 20rpx);
  1024. line-height: 1.6em;
  1025. }
  1026. .cu-list.menu-avatar>.cu-item .content.flex-sub {
  1027. width: calc(100% - 96rpx - 60rpx - 20rpx);
  1028. }
  1029. .cu-list.menu-avatar>.cu-item .content>view:first-child {
  1030. font-size: 30rpx;
  1031. display: flex;
  1032. align-items: center;
  1033. }
  1034. .cu-list.menu-avatar>.cu-item .content .cu-tag.sm {
  1035. display: inline-block;
  1036. margin-left: 10rpx;
  1037. height: 28rpx;
  1038. font-size: 16rpx;
  1039. line-height: 32rpx;
  1040. }
  1041. .cu-list.menu-avatar>.cu-item .action {
  1042. width: 100rpx;
  1043. text-align: center;
  1044. }
  1045. .cu-list.menu-avatar>.cu-item .action view+view {
  1046. margin-top: 10rpx;
  1047. }
  1048. .cu-list.menu-avatar.comment>.cu-item .content {
  1049. position: relative;
  1050. left: 0;
  1051. width: auto;
  1052. flex: 1;
  1053. }
  1054. .cu-list.menu-avatar.comment>.cu-item {
  1055. padding: 30rpx 30rpx 30rpx 120rpx;
  1056. height: auto;
  1057. }
  1058. .cu-list.menu-avatar.comment .cu-avatar {
  1059. align-self: flex-start;
  1060. }
  1061. .cu-list.menu>.cu-item {
  1062. position: relative;
  1063. display: flex;
  1064. padding: 0 30rpx;
  1065. min-height: 100rpx;
  1066. background-color: var(--white);
  1067. justify-content: space-between;
  1068. align-items: center;
  1069. }
  1070. .cu-list.menu>.cu-item:last-child:after {
  1071. border: none;
  1072. }
  1073. .cu-list.menu>.cu-item:after {
  1074. position: absolute;
  1075. top: 0;
  1076. left: 0;
  1077. box-sizing: border-box;
  1078. width: 200%;
  1079. height: 200%;
  1080. border-bottom: 1rpx solid #ddd;
  1081. border-radius: inherit;
  1082. content: " ";
  1083. transform: scale(0.5);
  1084. transform-origin: 0 0;
  1085. pointer-events: none;
  1086. }
  1087. .cu-list.menu>.cu-item.grayscale {
  1088. background-color: #f5f5f5;
  1089. }
  1090. .cu-list.menu>.cu-item.cur {
  1091. background-color: #fcf7e9;
  1092. }
  1093. .cu-list.menu>.cu-item.arrow {
  1094. padding-right: 90rpx;
  1095. }
  1096. .cu-list.menu>.cu-item.arrow:before {
  1097. position: absolute;
  1098. top: 0;
  1099. right: 30rpx;
  1100. bottom: 0;
  1101. display: block;
  1102. margin: auto;
  1103. width: 30rpx;
  1104. height: 30rpx;
  1105. color: var(--grey);
  1106. content: "\e6a3";
  1107. text-align: center;
  1108. font-size: 34rpx;
  1109. font-family: "cuIcon";
  1110. line-height: 30rpx;
  1111. }
  1112. .cu-list.menu>.cu-item button.content {
  1113. padding: 0;
  1114. background-color: transparent;
  1115. justify-content: flex-start;
  1116. }
  1117. .cu-list.menu>.cu-item button.content:after {
  1118. display: none;
  1119. }
  1120. .cu-list.menu>.cu-item .cu-avatar-group .cu-avatar {
  1121. border-color: var(--white);
  1122. }
  1123. .cu-list.menu>.cu-item .content>view:first-child {
  1124. display: flex;
  1125. align-items: center;
  1126. }
  1127. .cu-list.menu>.cu-item .content>text[class*=cuIcon] {
  1128. display: inline-block;
  1129. margin-right: 10rpx;
  1130. width: 1.6em;
  1131. text-align: center;
  1132. }
  1133. .cu-list.menu>.cu-item .content>image {
  1134. display: inline-block;
  1135. margin-right: 10rpx;
  1136. width: 1.6em;
  1137. height: 1.6em;
  1138. vertical-align: middle;
  1139. }
  1140. .cu-list.menu>.cu-item .content {
  1141. font-size: 30rpx;
  1142. line-height: 1.6em;
  1143. flex: 1;
  1144. }
  1145. .cu-list.menu>.cu-item .content .cu-tag.sm {
  1146. display: inline-block;
  1147. margin-left: 10rpx;
  1148. height: 28rpx;
  1149. font-size: 16rpx;
  1150. line-height: 32rpx;
  1151. }
  1152. .cu-list.menu>.cu-item .action .cu-tag:empty {
  1153. right: 10rpx;
  1154. }
  1155. .cu-list.menu {
  1156. display: block;
  1157. overflow: hidden;
  1158. }
  1159. .cu-list.menu.sm-border>.cu-item:after {
  1160. left: 30rpx;
  1161. width: calc(200% - 120rpx);
  1162. }
  1163. .cu-list.grid>.cu-item {
  1164. position: relative;
  1165. display: flex;
  1166. padding: 20rpx 0 30rpx;
  1167. transition-duration: 0s;
  1168. flex-direction: column;
  1169. }
  1170. .cu-list.grid>.cu-item:after {
  1171. position: absolute;
  1172. top: 0;
  1173. left: 0;
  1174. box-sizing: border-box;
  1175. width: 200%;
  1176. height: 200%;
  1177. border-right: 1px solid rgba(0, 0, 0, 0.1);
  1178. border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  1179. border-radius: inherit;
  1180. content: " ";
  1181. transform: scale(0.5);
  1182. transform-origin: 0 0;
  1183. pointer-events: none;
  1184. }
  1185. .cu-list.grid>.cu-item text {
  1186. display: block;
  1187. margin-top: 10rpx;
  1188. color: #888;
  1189. font-size: 26rpx;
  1190. line-height: 40rpx;
  1191. }
  1192. .cu-list.grid>.cu-item [class*=cuIcon] {
  1193. position: relative;
  1194. display: block;
  1195. margin-top: 20rpx;
  1196. width: 100%;
  1197. font-size: 48rpx;
  1198. }
  1199. .cu-list.grid>.cu-item .cu-tag {
  1200. right: auto;
  1201. left: 50%;
  1202. margin-left: 20rpx;
  1203. }
  1204. .cu-list.grid {
  1205. background-color: var(--white);
  1206. text-align: center;
  1207. }
  1208. .cu-list.grid.no-border>.cu-item {
  1209. padding-top: 10rpx;
  1210. padding-bottom: 20rpx;
  1211. }
  1212. .cu-list.grid.no-border>.cu-item:after {
  1213. border: none;
  1214. }
  1215. .cu-list.grid.no-border {
  1216. padding: 20rpx 10rpx;
  1217. }
  1218. .cu-list.grid.col-3>.cu-item:nth-child(3n):after,
  1219. .cu-list.grid.col-4>.cu-item:nth-child(4n):after,
  1220. .cu-list.grid.col-5>.cu-item:nth-child(5n):after {
  1221. border-right-width: 0;
  1222. }
  1223. .cu-list.card-menu {
  1224. overflow: hidden;
  1225. margin-right: 30rpx;
  1226. margin-left: 30rpx;
  1227. border-radius: 20rpx;
  1228. }
  1229. /* ==================
  1230. 操作条
  1231. ==================== */
  1232. .cu-bar {
  1233. display: flex;
  1234. position: relative;
  1235. align-items: center;
  1236. min-height: 100rpx;
  1237. justify-content: space-between;
  1238. }
  1239. .cu-bar .action {
  1240. display: flex;
  1241. align-items: center;
  1242. height: 100%;
  1243. justify-content: center;
  1244. max-width: 100%;
  1245. }
  1246. .cu-bar .action.border-title {
  1247. position: relative;
  1248. top: -10rpx;
  1249. }
  1250. .cu-bar .action.border-title text[class*="bg-"]:last-child {
  1251. position: absolute;
  1252. bottom: -0.5rem;
  1253. min-width: 2rem;
  1254. height: 6rpx;
  1255. left: 0;
  1256. }
  1257. .cu-bar .action.sub-title {
  1258. position: relative;
  1259. top: -0.2rem;
  1260. }
  1261. .cu-bar .action.sub-title text {
  1262. position: relative;
  1263. z-index: 1;
  1264. }
  1265. .cu-bar .action.sub-title text[class*="bg-"]:last-child {
  1266. position: absolute;
  1267. display: inline-block;
  1268. bottom: -0.2rem;
  1269. border-radius: 6rpx;
  1270. width: 100%;
  1271. height: 0.6rem;
  1272. left: 0.6rem;
  1273. opacity: 0.3;
  1274. z-index: 0;
  1275. }
  1276. .cu-bar .action.sub-title text[class*="text-"]:last-child {
  1277. position: absolute;
  1278. display: inline-block;
  1279. bottom: -0.7rem;
  1280. left: 0.5rem;
  1281. opacity: 0.2;
  1282. z-index: 0;
  1283. text-align: right;
  1284. font-weight: 900;
  1285. font-size: 36rpx;
  1286. }
  1287. .cu-bar.justify-center .action.border-title text:last-child,
  1288. .cu-bar.justify-center .action.sub-title text:last-child {
  1289. left: 0;
  1290. right: 0;
  1291. margin: auto;
  1292. text-align: center;
  1293. }
  1294. .cu-bar .action:first-child {
  1295. margin-left: 30rpx;
  1296. font-size: 30rpx;
  1297. }
  1298. .cu-bar .action text.text-cut {
  1299. text-align: left;
  1300. width: 100%;
  1301. }
  1302. .cu-bar .cu-avatar:first-child {
  1303. margin-left: 20rpx;
  1304. }
  1305. .cu-bar .action:first-child>text[class*="cuIcon-"] {
  1306. margin-left: -0.3em;
  1307. margin-right: 0.3em;
  1308. }
  1309. .cu-bar .action:last-child {
  1310. margin-right: 30rpx;
  1311. }
  1312. .cu-bar .action>text[class*="cuIcon-"], .cu-bar .action>view[class*="cuIcon-"] {
  1313. font-size: 36rpx;
  1314. }
  1315. .cu-bar .action>text[class*="cuIcon-"]+text[class*="cuIcon-"] {
  1316. margin-left: 0.5em;
  1317. }
  1318. .cu-bar .content {
  1319. position: absolute;
  1320. text-align: center;
  1321. width: calc(100% - 340rpx);
  1322. left: 0;
  1323. right: 0;
  1324. bottom: 0;
  1325. top: 0;
  1326. margin: auto;
  1327. height: 60rpx;
  1328. font-size: 32rpx;
  1329. line-height: 60rpx;
  1330. cursor: none;
  1331. pointer-events: none;
  1332. text-overflow: ellipsis;
  1333. white-space: nowrap;
  1334. overflow: hidden;
  1335. }
  1336. .cu-bar.ios .content {
  1337. bottom: 7px;
  1338. height: 30px;
  1339. font-size: 32rpx;
  1340. line-height: 30px;
  1341. }
  1342. .cu-bar.btn-group {
  1343. justify-content: space-around;
  1344. }
  1345. .cu-bar.btn-group button {
  1346. padding: 20rpx 32rpx;
  1347. }
  1348. .cu-bar.btn-group button {
  1349. flex: 1;
  1350. margin: 0 20rpx;
  1351. max-width: 50%;
  1352. }
  1353. .cu-bar .search-form {
  1354. background-color: #f5f5f5;
  1355. line-height: 64rpx;
  1356. height: 64rpx;
  1357. font-size: 24rpx;
  1358. color: var(--black);
  1359. flex: 1;
  1360. display: flex;
  1361. align-items: center;
  1362. margin: 0 30rpx;
  1363. }
  1364. .cu-bar .search-form+.action {
  1365. margin-right: 30rpx;
  1366. }
  1367. .cu-bar .search-form input {
  1368. flex: 1;
  1369. padding-right: 30rpx;
  1370. height: 64rpx;
  1371. line-height: 64rpx;
  1372. font-size: 26rpx;
  1373. background-color: transparent;
  1374. }
  1375. .cu-bar .search-form [class*="cuIcon-"] {
  1376. margin: 0 0.5em 0 0.8em;
  1377. }
  1378. .cu-bar .search-form [class*="cuIcon-"]::before {
  1379. top: 0rpx;
  1380. }
  1381. .cu-bar.fixed, .nav.fixed {
  1382. position: fixed;
  1383. width: 100%;
  1384. top: 0;
  1385. z-index: 1024;
  1386. box-shadow: 0 1rpx 6rpx rgba(0, 0, 0, 0.1);
  1387. }
  1388. .cu-bar.foot {
  1389. position: fixed;
  1390. width: 100%;
  1391. bottom: 0;
  1392. z-index: 1024;
  1393. box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
  1394. }
  1395. .cu-bar.tabbar {
  1396. padding: 0;
  1397. height: calc(100rpx + env(safe-area-inset-bottom) / 2);
  1398. padding-bottom: calc(env(safe-area-inset-bottom) / 2);
  1399. }
  1400. .cu-tabbar-height {
  1401. min-height: 100rpx;
  1402. height: calc(100rpx + env(safe-area-inset-bottom) / 2);
  1403. }
  1404. .cu-bar.tabbar.shadow {
  1405. box-shadow: 0 -1rpx 6rpx rgba(0, 0, 0, 0.1);
  1406. }
  1407. .cu-bar.tabbar .action {
  1408. font-size: 22rpx;
  1409. position: relative;
  1410. flex: 1;
  1411. text-align: center;
  1412. padding: 0;
  1413. display: block;
  1414. height: auto;
  1415. line-height: 1;
  1416. margin: 0;
  1417. overflow: initial;
  1418. }
  1419. .cu-bar.tabbar.shop .action {
  1420. width: 140rpx;
  1421. flex: initial;
  1422. }
  1423. .cu-bar.tabbar .action.add-action {
  1424. position: relative;
  1425. z-index: 2;
  1426. padding-top: 50rpx;
  1427. background-color: inherit;
  1428. }
  1429. .cu-bar.tabbar .action.add-action [class*="cuIcon-"] {
  1430. position: absolute;
  1431. width: 70rpx;
  1432. z-index: 2;
  1433. height: 70rpx;
  1434. border-radius: 50%;
  1435. line-height: 70rpx;
  1436. font-size: 50rpx;
  1437. top: -35rpx;
  1438. left: 0;
  1439. right: 0;
  1440. margin: auto;
  1441. padding: 0;
  1442. }
  1443. .cu-bar.tabbar .action.add-action::after {
  1444. content: "";
  1445. position: absolute;
  1446. width: 100rpx;
  1447. height: 100rpx;
  1448. top: -50rpx;
  1449. left: 0;
  1450. right: 0;
  1451. margin: auto;
  1452. box-shadow: 0 -3rpx 8rpx rgba(0, 0, 0, 0.08);
  1453. border-radius: 50rpx;
  1454. background-color: inherit;
  1455. z-index: 0;
  1456. }
  1457. .cu-bar.tabbar .action.add-action::before {
  1458. content: "";
  1459. position: absolute;
  1460. width: 100rpx;
  1461. height: 30rpx;
  1462. bottom: 30rpx;
  1463. left: 0;
  1464. right: 0;
  1465. margin: auto;
  1466. background-color: inherit;
  1467. z-index: 1;
  1468. }
  1469. .cu-bar.tabbar .btn-group {
  1470. flex: 1;
  1471. display: flex;
  1472. justify-content: space-around;
  1473. align-items: center;
  1474. padding: 0 10rpx;
  1475. }
  1476. .cu-bar.tabbar button.action::after {
  1477. border: 0;
  1478. }
  1479. .cu-bar.tabbar .action [class*="cuIcon-"] {
  1480. width: 100rpx;
  1481. position: relative;
  1482. display: block;
  1483. height: auto;
  1484. margin: 0 auto 10rpx;
  1485. text-align: center;
  1486. font-size: 40rpx;
  1487. }
  1488. .cu-bar.tabbar .action .cuIcon-cu-image {
  1489. margin: 0 auto;
  1490. }
  1491. .cu-bar.tabbar .action .cuIcon-cu-image image {
  1492. width: 50rpx;
  1493. height: 50rpx;
  1494. display: inline-block;
  1495. }
  1496. .cu-bar.tabbar .submit {
  1497. align-items: center;
  1498. display: flex;
  1499. justify-content: center;
  1500. text-align: center;
  1501. position: relative;
  1502. flex: 2;
  1503. align-self: stretch;
  1504. }
  1505. .cu-bar.tabbar .submit:last-child {
  1506. flex: 2.6;
  1507. }
  1508. .cu-bar.tabbar .submit+.submit {
  1509. flex: 2;
  1510. }
  1511. .cu-bar.tabbar.border .action::before {
  1512. content: " ";
  1513. width: 200%;
  1514. height: 200%;
  1515. position: absolute;
  1516. top: 0;
  1517. left: 0;
  1518. transform: scale(0.5);
  1519. transform-origin: 0 0;
  1520. border-right: 1rpx solid rgba(0, 0, 0, 0.1);
  1521. z-index: 3;
  1522. }
  1523. .cu-bar.tabbar.border .action:last-child:before {
  1524. display: none;
  1525. }
  1526. .cu-bar.input {
  1527. padding-right: 20rpx;
  1528. background-color: var(--white);
  1529. }
  1530. .cu-bar.input input {
  1531. overflow: initial;
  1532. line-height: 64rpx;
  1533. height: 64rpx;
  1534. min-height: 64rpx;
  1535. flex: 1;
  1536. font-size: 30rpx;
  1537. margin: 0 20rpx;
  1538. }
  1539. .cu-bar.input .action {
  1540. margin-left: 20rpx;
  1541. }
  1542. .cu-bar.input .action [class*="cuIcon-"] {
  1543. font-size: 48rpx;
  1544. }
  1545. .cu-bar.input input+.action {
  1546. margin-right: 20rpx;
  1547. margin-left: 0rpx;
  1548. }
  1549. .cu-bar.input .action:first-child [class*="cuIcon-"] {
  1550. margin-left: 0rpx;
  1551. }
  1552. .cu-custom {
  1553. display: block;
  1554. position: relative;
  1555. }
  1556. .cu-custom .cu-bar .content {
  1557. width: calc(100% - 440rpx);
  1558. }
  1559. .cu-custom .cu-bar .content image {
  1560. height: 60rpx;
  1561. width: 240rpx;
  1562. }
  1563. .cu-custom .cu-bar {
  1564. min-height: 0px;
  1565. padding-right: 220rpx;
  1566. box-shadow: 0rpx 0rpx 0rpx;
  1567. z-index: 9999;
  1568. }
  1569. .cu-custom .cu-bar .border-custom {
  1570. position: relative;
  1571. background: rgba(0, 0, 0, 0.15);
  1572. border-radius: 1000rpx;
  1573. height: 30px;
  1574. }
  1575. .cu-custom .cu-bar .border-custom::after {
  1576. content: " ";
  1577. width: 200%;
  1578. height: 200%;
  1579. position: absolute;
  1580. top: 0;
  1581. left: 0;
  1582. border-radius: inherit;
  1583. transform: scale(0.5);
  1584. transform-origin: 0 0;
  1585. pointer-events: none;
  1586. box-sizing: border-box;
  1587. border: 1rpx solid var(--white);
  1588. opacity: 0.5;
  1589. }
  1590. .cu-custom .cu-bar .border-custom::before {
  1591. content: " ";
  1592. width: 1rpx;
  1593. height: 110%;
  1594. position: absolute;
  1595. top: 22.5%;
  1596. left: 0;
  1597. right: 0;
  1598. margin: auto;
  1599. transform: scale(0.5);
  1600. transform-origin: 0 0;
  1601. pointer-events: none;
  1602. box-sizing: border-box;
  1603. opacity: 0.6;
  1604. background-color: var(--white);
  1605. }
  1606. .cu-custom .cu-bar .border-custom text {
  1607. display: block;
  1608. flex: 1;
  1609. margin: auto !important;
  1610. text-align: center;
  1611. font-size: 34rpx;
  1612. }
  1613. /* ==================
  1614. 导航栏
  1615. ==================== */
  1616. .nav {
  1617. white-space: nowrap;
  1618. }
  1619. ::-webkit-scrollbar {
  1620. display: none;
  1621. }
  1622. .nav .cu-item {
  1623. height: 90rpx;
  1624. display: inline-block;
  1625. line-height: 90rpx;
  1626. margin: 0 10rpx;
  1627. padding: 0 20rpx;
  1628. }
  1629. .nav .cu-item.cur {
  1630. border-bottom: 4rpx solid;
  1631. }
  1632. /* ==================
  1633. 时间轴
  1634. ==================== */
  1635. .cu-timeline {
  1636. display: block;
  1637. background-color: var(--white);
  1638. }
  1639. .cu-timeline .cu-time {
  1640. width: 120rpx;
  1641. text-align: center;
  1642. padding: 20rpx 0;
  1643. font-size: 26rpx;
  1644. color: #888;
  1645. display: block;
  1646. }
  1647. .cu-timeline>.cu-item {
  1648. padding: 30rpx 30rpx 30rpx 120rpx;
  1649. position: relative;
  1650. display: block;
  1651. z-index: 0;
  1652. }
  1653. .cu-timeline>.cu-item:not([class*="text-"]) {
  1654. color: #ccc;
  1655. }
  1656. .cu-timeline>.cu-item::after {
  1657. content: "";
  1658. display: block;
  1659. position: absolute;
  1660. width: 1rpx;
  1661. background-color: #ddd;
  1662. left: 60rpx;
  1663. height: 100%;
  1664. top: 0;
  1665. z-index: 8;
  1666. }
  1667. .cu-timeline>.cu-item::before {
  1668. font-family: "cuIcon";
  1669. display: block;
  1670. position: absolute;
  1671. top: 36rpx;
  1672. z-index: 9;
  1673. background-color: var(--white);
  1674. width: 50rpx;
  1675. height: 50rpx;
  1676. text-align: center;
  1677. border: none;
  1678. line-height: 50rpx;
  1679. left: 36rpx;
  1680. }
  1681. .cu-timeline>.cu-item:not([class*="cuIcon-"])::before {
  1682. content: "\e763";
  1683. }
  1684. .cu-timeline>.cu-item[class*="cuIcon-"]::before {
  1685. background-color: var(--white);
  1686. width: 50rpx;
  1687. height: 50rpx;
  1688. text-align: center;
  1689. border: none;
  1690. line-height: 50rpx;
  1691. left: 36rpx;
  1692. }
  1693. .cu-timeline>.cu-item>.content {
  1694. padding: 30rpx;
  1695. border-radius: 6rpx;
  1696. display: block;
  1697. line-height: 1.6;
  1698. }
  1699. .cu-timeline>.cu-item>.content:not([class*="bg-"]) {
  1700. background-color: var(--ghostWhite);
  1701. color: var(--black);
  1702. }
  1703. .cu-timeline>.cu-item>.content+.content {
  1704. margin-top: 20rpx;
  1705. }
  1706. /* ==================
  1707. 聊天
  1708. ==================== */
  1709. .cu-chat {
  1710. display: flex;
  1711. flex-direction: column;
  1712. }
  1713. .cu-chat .cu-item {
  1714. display: flex;
  1715. padding: 30rpx 30rpx 70rpx;
  1716. position: relative;
  1717. }
  1718. .cu-chat .cu-item>.cu-avatar {
  1719. width: 80rpx;
  1720. height: 80rpx;
  1721. }
  1722. .cu-chat .cu-item>.main {
  1723. max-width: calc(100% - 260rpx);
  1724. margin: 0 40rpx;
  1725. display: flex;
  1726. align-items: center;
  1727. }
  1728. .cu-chat .cu-item>image {
  1729. height: 320rpx;
  1730. }
  1731. .cu-chat .cu-item>.main .content {
  1732. padding: 20rpx;
  1733. border-radius: 6rpx;
  1734. display: inline-flex;
  1735. max-width: 100%;
  1736. align-items: center;
  1737. font-size: 30rpx;
  1738. position: relative;
  1739. min-height: 80rpx;
  1740. line-height: 40rpx;
  1741. text-align: left;
  1742. }
  1743. .cu-chat .cu-item>.main .content:not([class*="bg-"]) {
  1744. background-color: var(--white);
  1745. color: var(--black);
  1746. }
  1747. .cu-chat .cu-item .date {
  1748. position: absolute;
  1749. font-size: 24rpx;
  1750. color: var(--grey);
  1751. width: calc(100% - 320rpx);
  1752. bottom: 20rpx;
  1753. left: 160rpx;
  1754. }
  1755. .cu-chat .cu-item .action {
  1756. padding: 0 30rpx;
  1757. display: flex;
  1758. align-items: center;
  1759. }
  1760. .cu-chat .cu-item>.main .content::after {
  1761. content: "";
  1762. top: 27rpx;
  1763. transform: rotate(45deg);
  1764. position: absolute;
  1765. z-index: 100;
  1766. display: inline-block;
  1767. overflow: hidden;
  1768. width: 24rpx;
  1769. height: 24rpx;
  1770. left: -12rpx;
  1771. right: initial;
  1772. background-color: inherit;
  1773. }
  1774. .cu-chat .cu-item.self>.main .content::after {
  1775. left: auto;
  1776. right: -12rpx;
  1777. }
  1778. .cu-chat .cu-item>.main .content::before {
  1779. content: "";
  1780. top: 30rpx;
  1781. transform: rotate(45deg);
  1782. position: absolute;
  1783. z-index: -1;
  1784. display: inline-block;
  1785. overflow: hidden;
  1786. width: 24rpx;
  1787. height: 24rpx;
  1788. left: -12rpx;
  1789. right: initial;
  1790. background-color: inherit;
  1791. filter: blur(5rpx);
  1792. opacity: 0.3;
  1793. }
  1794. .cu-chat .cu-item>.main .content:not([class*="bg-"])::before {
  1795. background-color: var(--black);
  1796. opacity: 0.1;
  1797. }
  1798. .cu-chat .cu-item.self>.main .content::before {
  1799. left: auto;
  1800. right: -12rpx;
  1801. }
  1802. .cu-chat .cu-item.self {
  1803. justify-content: flex-end;
  1804. text-align: right;
  1805. }
  1806. .cu-chat .cu-info {
  1807. display: inline-block;
  1808. margin: 20rpx auto;
  1809. font-size: 24rpx;
  1810. padding: 8rpx 12rpx;
  1811. background-color: rgba(0, 0, 0, 0.2);
  1812. border-radius: 6rpx;
  1813. color: var(--white);
  1814. max-width: 400rpx;
  1815. line-height: 1.4;
  1816. }
  1817. /* ==================
  1818. 卡片
  1819. ==================== */
  1820. .cu-card {
  1821. display: block;
  1822. overflow: hidden;
  1823. }
  1824. .cu-card>.cu-item {
  1825. display: block;
  1826. background-color: var(--white);
  1827. overflow: hidden;
  1828. border-radius: 10rpx;
  1829. margin: 30rpx;
  1830. }
  1831. .cu-card>.cu-item.shadow-blur {
  1832. overflow: initial;
  1833. }
  1834. .cu-card.no-card>.cu-item {
  1835. margin: 0rpx;
  1836. border-radius: 0rpx;
  1837. }
  1838. .cu-card .grid.grid-square {
  1839. margin-bottom: -20rpx;
  1840. }
  1841. .cu-card.case .image {
  1842. position: relative;
  1843. }
  1844. .cu-card.case .image image {
  1845. width: 100%;
  1846. }
  1847. .cu-card.case .image .cu-tag {
  1848. position: absolute;
  1849. right: 0;
  1850. top: 0;
  1851. }
  1852. .cu-card.case .image .cu-bar {
  1853. position: absolute;
  1854. bottom: 0;
  1855. width: 100%;
  1856. background-color: transparent;
  1857. padding: 0rpx 30rpx;
  1858. }
  1859. .cu-card.case.no-card .image {
  1860. margin: 30rpx 30rpx 0;
  1861. overflow: hidden;
  1862. border-radius: 10rpx;
  1863. }
  1864. .cu-card.dynamic {
  1865. display: block;
  1866. }
  1867. .cu-card.dynamic>.cu-item {
  1868. display: block;
  1869. background-color: var(--white);
  1870. overflow: hidden;
  1871. }
  1872. .cu-card.dynamic>.cu-item>.text-content {
  1873. padding: 0 30rpx 0;
  1874. max-height: 6.4em;
  1875. overflow: hidden;
  1876. font-size: 30rpx;
  1877. margin-bottom: 20rpx;
  1878. }
  1879. .cu-card.dynamic>.cu-item .square-img {
  1880. width: 100%;
  1881. height: 200rpx;
  1882. border-radius: 6rpx;
  1883. }
  1884. .cu-card.dynamic>.cu-item .only-img {
  1885. width: 100%;
  1886. height: 320rpx;
  1887. border-radius: 6rpx;
  1888. }
  1889. .cu-card.article {
  1890. display: block;
  1891. }
  1892. .cu-card.article>.cu-item {
  1893. padding-bottom: 30rpx;
  1894. }
  1895. .cu-card.article>.cu-item .title {
  1896. font-size: 30rpx;
  1897. font-weight: 900;
  1898. color: var(--black);
  1899. line-height: 100rpx;
  1900. padding: 0 30rpx;
  1901. }
  1902. .cu-card.article>.cu-item .content {
  1903. display: flex;
  1904. padding: 0 30rpx;
  1905. }
  1906. .cu-card.article>.cu-item .content>image {
  1907. width: 240rpx;
  1908. height: 6.4em;
  1909. margin-right: 20rpx;
  1910. border-radius: 6rpx;
  1911. }
  1912. .cu-card.article>.cu-item .content .desc {
  1913. flex: 1;
  1914. display: flex;
  1915. flex-direction: column;
  1916. justify-content: space-between;
  1917. }
  1918. .cu-card.article>.cu-item .content .text-content {
  1919. font-size: 28rpx;
  1920. color: #888;
  1921. height: 4.8em;
  1922. overflow: hidden;
  1923. }
  1924. /* ==================
  1925. 表单
  1926. ==================== */
  1927. .cu-form-group {
  1928. background-color: var(--white);
  1929. padding: 1rpx 30rpx;
  1930. display: flex;
  1931. align-items: center;
  1932. min-height: 100rpx;
  1933. justify-content: space-between;
  1934. }
  1935. .cu-form-group+.cu-form-group {
  1936. border-top: 1rpx solid #eee;
  1937. }
  1938. .cu-form-group .title {
  1939. text-align: justify;
  1940. padding-right: 30rpx;
  1941. font-size: 30rpx;
  1942. position: relative;
  1943. height: 60rpx;
  1944. line-height: 60rpx;
  1945. }
  1946. .cu-form-group input {
  1947. flex: 1;
  1948. font-size: 30rpx;
  1949. color: #555;
  1950. padding-right: 20rpx;
  1951. }
  1952. .cu-form-group>text[class*="cuIcon-"] {
  1953. font-size: 36rpx;
  1954. padding: 0;
  1955. box-sizing: border-box;
  1956. }
  1957. .cu-form-group textarea {
  1958. margin: 32rpx 0 30rpx;
  1959. height: 4.6em;
  1960. width: 100%;
  1961. line-height: 1.2em;
  1962. flex: 1;
  1963. font-size: 28rpx;
  1964. padding: 0;
  1965. }
  1966. .cu-form-group.align-start .title {
  1967. height: 1em;
  1968. margin-top: 32rpx;
  1969. line-height: 1em;
  1970. }
  1971. .cu-form-group picker {
  1972. flex: 1;
  1973. padding-right: 40rpx;
  1974. overflow: hidden;
  1975. position: relative;
  1976. }
  1977. .cu-form-group picker .picker {
  1978. line-height: 100rpx;
  1979. font-size: 28rpx;
  1980. text-overflow: ellipsis;
  1981. white-space: nowrap;
  1982. overflow: hidden;
  1983. width: 100%;
  1984. text-align: right;
  1985. }
  1986. .cu-form-group picker::after {
  1987. font-family: "cuIcon";
  1988. display: block;
  1989. content: "\e6a3";
  1990. position: absolute;
  1991. font-size: 34rpx;
  1992. color: var(--grey);
  1993. line-height: 100rpx;
  1994. width: 60rpx;
  1995. text-align: center;
  1996. top: 0;
  1997. bottom: 0;
  1998. right: -20rpx;
  1999. margin: auto;
  2000. }
  2001. .cu-form-group textarea[disabled],
  2002. .cu-form-group textarea[disabled] .placeholder {
  2003. color: transparent;
  2004. }
  2005. /* ==================
  2006. 模态窗口
  2007. ==================== */
  2008. .cu-modal {
  2009. position: fixed;
  2010. top: 0;
  2011. right: 0;
  2012. bottom: 0;
  2013. left: 0;
  2014. z-index: 1110;
  2015. opacity: 0;
  2016. outline: 0;
  2017. text-align: center;
  2018. -ms-transform: scale(1.185);
  2019. transform: scale(1.185);
  2020. backface-visibility: hidden;
  2021. perspective: 2000rpx;
  2022. background: rgba(0, 0, 0, 0.6);
  2023. transition: all 0.3s ease-in-out 0s;
  2024. pointer-events: none;
  2025. }
  2026. .cu-modal::before {
  2027. content: "\200B";
  2028. display: inline-block;
  2029. height: 100%;
  2030. vertical-align: middle;
  2031. }
  2032. .cu-modal.show {
  2033. opacity: 1;
  2034. transition-duration: 0.3s;
  2035. -ms-transform: scale(1);
  2036. transform: scale(1);
  2037. overflow-x: hidden;
  2038. overflow-y: auto;
  2039. pointer-events: auto;
  2040. }
  2041. .cu-dialog {
  2042. position: relative;
  2043. display: inline-block;
  2044. vertical-align: middle;
  2045. margin-left: auto;
  2046. margin-right: auto;
  2047. width: 680rpx;
  2048. max-width: 100%;
  2049. background-color: #f8f8f8;
  2050. border-radius: 10rpx;
  2051. overflow: hidden;
  2052. }
  2053. .cu-modal.bottom-modal::before {
  2054. vertical-align: bottom;
  2055. }
  2056. .cu-modal.bottom-modal .cu-dialog {
  2057. width: 100%;
  2058. border-radius: 0;
  2059. }
  2060. .cu-modal.bottom-modal {
  2061. margin-bottom: -1000rpx;
  2062. }
  2063. .cu-modal.bottom-modal.show {
  2064. margin-bottom: 0;
  2065. }
  2066. .cu-modal.drawer-modal {
  2067. transform: scale(1);
  2068. display: flex;
  2069. }
  2070. .cu-modal.drawer-modal .cu-dialog {
  2071. height: 100%;
  2072. min-width: 200rpx;
  2073. border-radius: 0;
  2074. margin: initial;
  2075. transition-duration: 0.3s;
  2076. }
  2077. .cu-modal.drawer-modal.justify-start .cu-dialog {
  2078. transform: translateX(-100%);
  2079. }
  2080. .cu-modal.drawer-modal.justify-end .cu-dialog {
  2081. transform: translateX(100%);
  2082. }
  2083. .cu-modal.drawer-modal.show .cu-dialog {
  2084. transform: translateX(0%);
  2085. }
  2086. .cu-modal .cu-dialog>.cu-bar:first-child .action {
  2087. min-width: 100rpx;
  2088. margin-right: 0;
  2089. min-height: 100rpx;
  2090. }
  2091. /* ==================
  2092. 轮播
  2093. ==================== */
  2094. swiper .a-swiper-dot {
  2095. display: inline-block;
  2096. width: 16rpx;
  2097. height: 16rpx;
  2098. background: rgba(0, 0, 0, 0.3);
  2099. border-radius: 50%;
  2100. vertical-align: middle;
  2101. }
  2102. swiper[class*="-dot"] .wx-swiper-dots {
  2103. display: flex;
  2104. align-items: center;
  2105. width: 100%;
  2106. justify-content: center;
  2107. }
  2108. swiper.square-dot .wx-swiper-dot {
  2109. background-color: var(--white);
  2110. opacity: 0.4;
  2111. width: 10rpx;
  2112. height: 10rpx;
  2113. border-radius: 20rpx;
  2114. margin: 0 8rpx !important;
  2115. }
  2116. swiper.square-dot .wx-swiper-dot.wx-swiper-dot-active {
  2117. opacity: 1;
  2118. width: 30rpx;
  2119. }
  2120. swiper.round-dot .wx-swiper-dot {
  2121. width: 10rpx;
  2122. height: 10rpx;
  2123. position: relative;
  2124. margin: 4rpx 8rpx !important;
  2125. }
  2126. swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active::after {
  2127. content: "";
  2128. position: absolute;
  2129. width: 10rpx;
  2130. height: 10rpx;
  2131. top: 0rpx;
  2132. left: 0rpx;
  2133. right: 0;
  2134. bottom: 0;
  2135. margin: auto;
  2136. background-color: var(--white);
  2137. border-radius: 20rpx;
  2138. }
  2139. swiper.round-dot .wx-swiper-dot.wx-swiper-dot-active {
  2140. width: 18rpx;
  2141. height: 18rpx;
  2142. }
  2143. .screen-swiper {
  2144. min-height: 375rpx;
  2145. }
  2146. .screen-swiper image, .screen-swiper video, .swiper-item image,
  2147. .swiper-item video {
  2148. width: 100%;
  2149. display: block;
  2150. height: 100%;
  2151. margin: 0;
  2152. pointer-events: none;
  2153. }
  2154. .card-swiper {
  2155. height: 420rpx !important;
  2156. }
  2157. .card-swiper swiper-item {
  2158. width: 610rpx !important;
  2159. left: 70rpx;
  2160. box-sizing: border-box;
  2161. padding: 40rpx 0rpx 70rpx;
  2162. overflow: initial;
  2163. }
  2164. .card-swiper swiper-item .swiper-item {
  2165. width: 100%;
  2166. display: block;
  2167. height: 100%;
  2168. border-radius: 10rpx;
  2169. transform: scale(0.9);
  2170. transition: all 0.2s ease-in 0s;
  2171. overflow: hidden;
  2172. }
  2173. .card-swiper swiper-item.cur .swiper-item {
  2174. transform: none;
  2175. transition: all 0.2s ease-in 0s;
  2176. }
  2177. .tower-swiper {
  2178. height: 420rpx;
  2179. position: relative;
  2180. max-width: 750rpx;
  2181. overflow: hidden;
  2182. }
  2183. .tower-swiper .tower-item {
  2184. position: absolute;
  2185. width: 300rpx;
  2186. height: 380rpx;
  2187. top: 0;
  2188. bottom: 0;
  2189. left: 50%;
  2190. margin: auto;
  2191. transition: all 0.2s ease-in 0s;
  2192. opacity: 1;
  2193. }
  2194. .tower-swiper .tower-item.none {
  2195. opacity: 0;
  2196. }
  2197. .tower-swiper .tower-item .swiper-item {
  2198. width: 100%;
  2199. height: 100%;
  2200. border-radius: 6rpx;
  2201. overflow: hidden;
  2202. }
  2203. /* ==================
  2204. 步骤条
  2205. ==================== */
  2206. .cu-steps {
  2207. display: flex;
  2208. }
  2209. scroll-view.cu-steps {
  2210. display: block;
  2211. white-space: nowrap;
  2212. }
  2213. scroll-view.cu-steps .cu-item {
  2214. display: inline-block;
  2215. }
  2216. .cu-steps .cu-item {
  2217. flex: 1;
  2218. text-align: center;
  2219. position: relative;
  2220. min-width: 100rpx;
  2221. }
  2222. .cu-steps .cu-item:not([class*="text-"]) {
  2223. color: var(--grey);
  2224. }
  2225. .cu-steps .cu-item [class*="cuIcon-"], .cu-steps .cu-item .num {
  2226. display: block;
  2227. font-size: 40rpx;
  2228. line-height: 80rpx;
  2229. }
  2230. .cu-steps .cu-item::before, .cu-steps .cu-item::after,
  2231. .cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after {
  2232. content: "";
  2233. display: block;
  2234. position: absolute;
  2235. height: 0px;
  2236. width: calc(100% - 80rpx);
  2237. border-bottom: 1px solid #ccc;
  2238. left: calc(0px - (100% - 80rpx) / 2);
  2239. top: 40rpx;
  2240. z-index: 0;
  2241. }
  2242. .cu-steps.steps-arrow .cu-item::before, .cu-steps.steps-arrow .cu-item::after {
  2243. content: "\e6a3";
  2244. font-family: "cuIcon";
  2245. height: 30rpx;
  2246. border-bottom-width: 0px;
  2247. line-height: 30rpx;
  2248. top: 0;
  2249. bottom: 0;
  2250. margin: auto;
  2251. color: #ccc;
  2252. }
  2253. .cu-steps.steps-bottom .cu-item::before, .cu-steps.steps-bottom .cu-item::after {
  2254. bottom: 40rpx;
  2255. top: initial;
  2256. }
  2257. .cu-steps .cu-item::after {
  2258. border-bottom: 1px solid currentColor;
  2259. width: 0px;
  2260. transition: all 0.3s ease-in-out 0s;
  2261. }
  2262. .cu-steps .cu-item[class*="text-"]::after {
  2263. width: calc(100% - 80rpx);
  2264. color: currentColor;
  2265. }
  2266. .cu-steps .cu-item:first-child::before, .cu-steps .cu-item:first-child::after {
  2267. display: none;
  2268. }
  2269. .cu-steps .cu-item .num {
  2270. width: 40rpx;
  2271. height: 40rpx;
  2272. border-radius: 50%;
  2273. line-height: 40rpx;
  2274. margin: 20rpx auto;
  2275. font-size: 24rpx;
  2276. border: 1px solid currentColor;
  2277. position: relative;
  2278. overflow: hidden;
  2279. }
  2280. .cu-steps .cu-item[class*="text-"] .num {
  2281. background-color: currentColor;
  2282. }
  2283. .cu-steps .cu-item .num::before, .cu-steps .cu-item .num::after {
  2284. content: attr(data-index);
  2285. position: absolute;
  2286. left: 0;
  2287. right: 0;
  2288. top: 0;
  2289. bottom: 0;
  2290. margin: auto;
  2291. transition: all 0.3s ease-in-out 0s;
  2292. transform: translateY(0rpx);
  2293. }
  2294. .cu-steps .cu-item[class*="text-"] .num::before {
  2295. transform: translateY(-40rpx);
  2296. color: var(--white);
  2297. }
  2298. .cu-steps .cu-item .num::after {
  2299. transform: translateY(40rpx);
  2300. color: var(--white);
  2301. transition: all 0.3s ease-in-out 0s;
  2302. }
  2303. .cu-steps .cu-item[class*="text-"] .num::after {
  2304. content: "\e645";
  2305. font-family: "cuIcon";
  2306. color: var(--white);
  2307. transform: translateY(0rpx);
  2308. }
  2309. .cu-steps .cu-item[class*="text-"] .num.err::after {
  2310. content: "\e646";
  2311. }
  2312. /* ==================
  2313. 布局
  2314. ==================== */
  2315. /* -- flex弹性布局 -- */
  2316. .flex {
  2317. display: flex;
  2318. }
  2319. .basis-xs {
  2320. flex-basis: 20%;
  2321. }
  2322. .basis-sm {
  2323. flex-basis: 40%;
  2324. }
  2325. .basis-df {
  2326. flex-basis: 50%;
  2327. }
  2328. .basis-lg {
  2329. flex-basis: 60%;
  2330. }
  2331. .basis-xl {
  2332. flex-basis: 80%;
  2333. }
  2334. .flex-sub {
  2335. flex: 1;
  2336. }
  2337. .flex-twice {
  2338. flex: 2;
  2339. }
  2340. .flex-treble {
  2341. flex: 3;
  2342. }
  2343. .flex-direction {
  2344. flex-direction: column;
  2345. }
  2346. .flex-wrap {
  2347. flex-wrap: wrap;
  2348. }
  2349. .align-start {
  2350. align-items: flex-start;
  2351. }
  2352. .align-end {
  2353. align-items: flex-end;
  2354. }
  2355. .align-center {
  2356. align-items: center;
  2357. }
  2358. .align-stretch {
  2359. align-items: stretch;
  2360. }
  2361. .self-start {
  2362. align-self: flex-start;
  2363. }
  2364. .self-center {
  2365. align-self: flex-center;
  2366. }
  2367. .self-end {
  2368. align-self: flex-end;
  2369. }
  2370. .self-stretch {
  2371. align-self: stretch;
  2372. }
  2373. .align-stretch {
  2374. align-items: stretch;
  2375. }
  2376. .justify-start {
  2377. justify-content: flex-start;
  2378. }
  2379. .justify-end {
  2380. justify-content: flex-end;
  2381. }
  2382. .justify-center {
  2383. justify-content: center;
  2384. }
  2385. .justify-between {
  2386. justify-content: space-between;
  2387. }
  2388. .justify-around {
  2389. justify-content: space-around;
  2390. }
  2391. /* grid布局 */
  2392. .grid {
  2393. display: flex;
  2394. flex-wrap: wrap;
  2395. }
  2396. .grid.grid-square {
  2397. overflow: hidden;
  2398. }
  2399. .grid.grid-square .cu-tag {
  2400. position: absolute;
  2401. right: 0;
  2402. top: 0;
  2403. border-bottom-left-radius: 6rpx;
  2404. padding: 6rpx 12rpx;
  2405. height: auto;
  2406. background-color: rgba(0, 0, 0, 0.5);
  2407. }
  2408. .grid.grid-square>view>text[class*="cuIcon-"] {
  2409. font-size: 52rpx;
  2410. position: absolute;
  2411. color: var(--grey);
  2412. margin: auto;
  2413. top: 0;
  2414. bottom: 0;
  2415. left: 0;
  2416. right: 0;
  2417. display: flex;
  2418. justify-content: center;
  2419. align-items: center;
  2420. flex-direction: column;
  2421. }
  2422. .grid.grid-square>view {
  2423. margin-right: 20rpx;
  2424. margin-bottom: 20rpx;
  2425. border-radius: 6rpx;
  2426. position: relative;
  2427. overflow: hidden;
  2428. }
  2429. .grid.grid-square>view.bg-img image {
  2430. width: 100%;
  2431. height: 100%;
  2432. position: absolute;
  2433. }
  2434. .grid.col-1.grid-square>view {
  2435. padding-bottom: 100%;
  2436. height: 0;
  2437. margin-right: 0;
  2438. }
  2439. .grid.col-2.grid-square>view {
  2440. padding-bottom: calc((100% - 20rpx)/2);
  2441. height: 0;
  2442. width: calc((100% - 20rpx)/2);
  2443. }
  2444. .grid.col-3.grid-square>view {
  2445. padding-bottom: calc((100% - 40rpx)/3);
  2446. height: 0;
  2447. width: calc((100% - 40rpx)/3);
  2448. }
  2449. .grid.col-4.grid-square>view {
  2450. padding-bottom: calc((100% - 60rpx)/4);
  2451. height: 0;
  2452. width: calc((100% - 60rpx)/4);
  2453. }
  2454. .grid.col-5.grid-square>view {
  2455. padding-bottom: calc((100% - 80rpx)/5);
  2456. height: 0;
  2457. width: calc((100% - 80rpx)/5);
  2458. }
  2459. .grid.col-2.grid-square>view:nth-child(2n),
  2460. .grid.col-3.grid-square>view:nth-child(3n),
  2461. .grid.col-4.grid-square>view:nth-child(4n),
  2462. .grid.col-5.grid-square>view:nth-child(5n) {
  2463. margin-right: 0;
  2464. }
  2465. .grid.col-1>view {
  2466. width: 100%;
  2467. }
  2468. .grid.col-2>view {
  2469. width: 50%;
  2470. }
  2471. .grid.col-3>view {
  2472. width: 33.33%;
  2473. }
  2474. .grid.col-4>view {
  2475. width: 25%;
  2476. }
  2477. .grid.col-5>view {
  2478. width: 20%;
  2479. }
  2480. /* -- 内外边距 -- */
  2481. .margin-0 {
  2482. margin: 0;
  2483. }
  2484. .margin-xs {
  2485. margin: 10rpx;
  2486. }
  2487. .margin-sm {
  2488. margin: 20rpx;
  2489. }
  2490. .margin {
  2491. margin: 30rpx;
  2492. }
  2493. .margin-lg {
  2494. margin: 40rpx;
  2495. }
  2496. .margin-xl {
  2497. margin: 50rpx;
  2498. }
  2499. .margin-top-xs {
  2500. margin-top: 10rpx;
  2501. }
  2502. .margin-top-sm {
  2503. margin-top: 20rpx;
  2504. }
  2505. .margin-top {
  2506. margin-top: 30rpx;
  2507. }
  2508. .margin-top-lg {
  2509. margin-top: 40rpx;
  2510. }
  2511. .margin-top-xl {
  2512. margin-top: 50rpx;
  2513. }
  2514. .margin-right-xs {
  2515. margin-right: 10rpx;
  2516. }
  2517. .margin-right-sm {
  2518. margin-right: 20rpx;
  2519. }
  2520. .margin-right {
  2521. margin-right: 30rpx;
  2522. }
  2523. .margin-right-lg {
  2524. margin-right: 40rpx;
  2525. }
  2526. .margin-right-xl {
  2527. margin-right: 50rpx;
  2528. }
  2529. .margin-bottom-xs {
  2530. margin-bottom: 10rpx;
  2531. }
  2532. .margin-bottom-sm {
  2533. margin-bottom: 20rpx;
  2534. }
  2535. .margin-bottom {
  2536. margin-bottom: 30rpx;
  2537. }
  2538. .margin-bottom-lg {
  2539. margin-bottom: 40rpx;
  2540. }
  2541. .margin-bottom-xl {
  2542. margin-bottom: 50rpx;
  2543. }
  2544. .margin-left-xs {
  2545. margin-left: 10rpx;
  2546. }
  2547. .margin-left-sm {
  2548. margin-left: 20rpx;
  2549. }
  2550. .margin-left {
  2551. margin-left: 30rpx;
  2552. }
  2553. .margin-left-lg {
  2554. margin-left: 40rpx;
  2555. }
  2556. .margin-left-xl {
  2557. margin-left: 50rpx;
  2558. }
  2559. .margin-lr-xs {
  2560. margin-left: 10rpx;
  2561. margin-right: 10rpx;
  2562. }
  2563. .margin-lr-sm {
  2564. margin-left: 20rpx;
  2565. margin-right: 20rpx;
  2566. }
  2567. .margin-lr {
  2568. margin-left: 30rpx;
  2569. margin-right: 30rpx;
  2570. }
  2571. .margin-lr-lg {
  2572. margin-left: 40rpx;
  2573. margin-right: 40rpx;
  2574. }
  2575. .margin-lr-xl {
  2576. margin-left: 50rpx;
  2577. margin-right: 50rpx;
  2578. }
  2579. .margin-tb-xs {
  2580. margin-top: 10rpx;
  2581. margin-bottom: 10rpx;
  2582. }
  2583. .margin-tb-sm {
  2584. margin-top: 20rpx;
  2585. margin-bottom: 20rpx;
  2586. }
  2587. .margin-tb {
  2588. margin-top: 30rpx;
  2589. margin-bottom: 30rpx;
  2590. }
  2591. .margin-tb-lg {
  2592. margin-top: 40rpx;
  2593. margin-bottom: 40rpx;
  2594. }
  2595. .margin-tb-xl {
  2596. margin-top: 50rpx;
  2597. margin-bottom: 50rpx;
  2598. }
  2599. .padding-0 {
  2600. padding: 0;
  2601. }
  2602. .padding-xs {
  2603. padding: 10rpx;
  2604. }
  2605. .padding-sm {
  2606. padding: 20rpx;
  2607. }
  2608. .padding {
  2609. padding: 30rpx;
  2610. }
  2611. .padding-lg {
  2612. padding: 40rpx;
  2613. }
  2614. .padding-xl {
  2615. padding: 50rpx;
  2616. }
  2617. .padding-top-xs {
  2618. padding-top: 10rpx;
  2619. }
  2620. .padding-top-sm {
  2621. padding-top: 20rpx;
  2622. }
  2623. .padding-top {
  2624. padding-top: 30rpx;
  2625. }
  2626. .padding-top-lg {
  2627. padding-top: 40rpx;
  2628. }
  2629. .padding-top-xl {
  2630. padding-top: 50rpx;
  2631. }
  2632. .padding-right-xs {
  2633. padding-right: 10rpx;
  2634. }
  2635. .padding-right-sm {
  2636. padding-right: 20rpx;
  2637. }
  2638. .padding-right {
  2639. padding-right: 30rpx;
  2640. }
  2641. .padding-right-lg {
  2642. padding-right: 40rpx;
  2643. }
  2644. .padding-right-xl {
  2645. padding-right: 50rpx;
  2646. }
  2647. .padding-bottom-xs {
  2648. padding-bottom: 10rpx;
  2649. }
  2650. .padding-bottom-sm {
  2651. padding-bottom: 20rpx;
  2652. }
  2653. .padding-bottom {
  2654. padding-bottom: 30rpx;
  2655. }
  2656. .padding-bottom-lg {
  2657. padding-bottom: 40rpx;
  2658. }
  2659. .padding-bottom-xl {
  2660. padding-bottom: 50rpx;
  2661. }
  2662. .padding-left-xs {
  2663. padding-left: 10rpx;
  2664. }
  2665. .padding-left-sm {
  2666. padding-left: 20rpx;
  2667. }
  2668. .padding-left {
  2669. padding-left: 30rpx;
  2670. }
  2671. .padding-left-lg {
  2672. padding-left: 40rpx;
  2673. }
  2674. .padding-left-xl {
  2675. padding-left: 50rpx;
  2676. }
  2677. .padding-lr-xs {
  2678. padding-left: 10rpx;
  2679. padding-right: 10rpx;
  2680. }
  2681. .padding-lr-sm {
  2682. padding-left: 20rpx;
  2683. padding-right: 20rpx;
  2684. }
  2685. .padding-lr {
  2686. padding-left: 30rpx;
  2687. padding-right: 30rpx;
  2688. }
  2689. .padding-lr-lg {
  2690. padding-left: 40rpx;
  2691. padding-right: 40rpx;
  2692. }
  2693. .padding-lr-xl {
  2694. padding-left: 50rpx;
  2695. padding-right: 50rpx;
  2696. }
  2697. .padding-tb-xs {
  2698. padding-top: 10rpx;
  2699. padding-bottom: 10rpx;
  2700. }
  2701. .padding-tb-sm {
  2702. padding-top: 20rpx;
  2703. padding-bottom: 20rpx;
  2704. }
  2705. .padding-tb {
  2706. padding-top: 30rpx;
  2707. padding-bottom: 30rpx;
  2708. }
  2709. .padding-tb-lg {
  2710. padding-top: 40rpx;
  2711. padding-bottom: 40rpx;
  2712. }
  2713. .padding-tb-xl {
  2714. padding-top: 50rpx;
  2715. padding-bottom: 50rpx;
  2716. }
  2717. /* -- 浮动 -- */
  2718. .cf::after, .cf::before {
  2719. content: " ";
  2720. display: table;
  2721. }
  2722. .cf::after {
  2723. clear: both;
  2724. }
  2725. .fl {
  2726. float: left;
  2727. }
  2728. .fr {
  2729. float: right;
  2730. }
  2731. /* ==================
  2732. 背景
  2733. ==================== */
  2734. .line-red::after, .lines-red::after {
  2735. border-color: var(--red);
  2736. }
  2737. .line-orange::after, .lines-orange::after {
  2738. border-color: var(--orange);
  2739. }
  2740. .line-yellow::after, .lines-yellow::after {
  2741. border-color: var(--yellow);
  2742. }
  2743. .line-olive::after, .lines-olive::after {
  2744. border-color: var(--olive);
  2745. }
  2746. .line-green::after, .lines-green::after {
  2747. border-color: var(--green);
  2748. }
  2749. .line-cyan::after, .lines-cyan::after {
  2750. border-color: var(--cyan);
  2751. }
  2752. .line-blue::after, .lines-blue::after {
  2753. border-color: var(--blue);
  2754. }
  2755. .line-purple::after, .lines-purple::after {
  2756. border-color: var(--purple);
  2757. }
  2758. .line-mauve::after, .lines-mauve::after {
  2759. border-color: var(--mauve);
  2760. }
  2761. .line-pink::after, .lines-pink::after {
  2762. border-color: var(--pink);
  2763. }
  2764. .line-brown::after, .lines-brown::after {
  2765. border-color: var(--brown);
  2766. }
  2767. .line-grey::after, .lines-grey::after {
  2768. border-color: var(--grey);
  2769. }
  2770. .line-gray::after, .lines-gray::after {
  2771. border-color: var(--gray);
  2772. }
  2773. .line-black::after, .lines-black::after {
  2774. border-color: var(--black);
  2775. }
  2776. .line-white::after, .lines-white::after {
  2777. border-color: var(--white);
  2778. }
  2779. .bg-red {
  2780. background-color: var(--red);
  2781. color: var(--white);
  2782. }
  2783. .bg-orange {
  2784. background-color: var(--orange);
  2785. color: var(--white);
  2786. }
  2787. .bg-yellow {
  2788. background-color: var(--yellow);
  2789. color: var(--black);
  2790. }
  2791. .bg-olive {
  2792. background-color: var(--olive);
  2793. color: var(--white);
  2794. }
  2795. .bg-green {
  2796. background-color: var(--green);
  2797. color: var(--white);
  2798. }
  2799. .bg-cyan {
  2800. background-color: var(--cyan);
  2801. color: var(--white);
  2802. }
  2803. .bg-blue {
  2804. background-color: var(--blue);
  2805. color: var(--white);
  2806. }
  2807. .bg-purple {
  2808. background-color: var(--purple);
  2809. color: var(--white);
  2810. }
  2811. .bg-mauve {
  2812. background-color: var(--mauve);
  2813. color: var(--white);
  2814. }
  2815. .bg-pink {
  2816. background-color: var(--pink);
  2817. color: var(--white);
  2818. }
  2819. .bg-brown {
  2820. background-color: var(--brown);
  2821. color: var(--white);
  2822. }
  2823. .bg-grey {
  2824. background-color: var(--grey);
  2825. color: var(--white);
  2826. }
  2827. .bg-gray {
  2828. background-color: #f0f0f0;
  2829. color: var(--black);
  2830. }
  2831. .bg-black {
  2832. background-color: var(--black);
  2833. color: var(--white);
  2834. }
  2835. .bg-white {
  2836. background-color: var(--white);
  2837. color: var(--darkGray);
  2838. }
  2839. .bg-shadeTop {
  2840. background-image: linear-gradient(rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.01));
  2841. color: var(--white);
  2842. }
  2843. .bg-shadeBottom {
  2844. background-image: linear-gradient(rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 1));
  2845. color: var(--white);
  2846. }
  2847. .bg-red.light {
  2848. color: var(--red);
  2849. background-color: var(--redLight);
  2850. }
  2851. .bg-orange.light {
  2852. color: var(--orange);
  2853. background-color: var(--orangeLight);
  2854. }
  2855. .bg-yellow.light {
  2856. color: var(--yellow);
  2857. background-color: var(--yellowLight);
  2858. }
  2859. .bg-olive.light {
  2860. color: var(--olive);
  2861. background-color: var(--oliveLight);
  2862. }
  2863. .bg-green.light {
  2864. color: var(--green);
  2865. background-color: var(--greenLight);
  2866. }
  2867. .bg-cyan.light {
  2868. color: var(--cyan);
  2869. background-color: var(--cyanLight);
  2870. }
  2871. .bg-blue.light {
  2872. color: var(--blue);
  2873. background-color: var(--blueLight);
  2874. }
  2875. .bg-purple.light {
  2876. color: var(--purple);
  2877. background-color: var(--purpleLight);
  2878. }
  2879. .bg-mauve.light {
  2880. color: var(--mauve);
  2881. background-color: var(--mauveLight);
  2882. }
  2883. .bg-pink.light {
  2884. color: var(--pink);
  2885. background-color: var(--pinkLight);
  2886. }
  2887. .bg-brown.light {
  2888. color: var(--brown);
  2889. background-color: var(--brownLight);
  2890. }
  2891. .bg-grey.light {
  2892. color: var(--grey);
  2893. background-color: var(--greyLight);
  2894. }
  2895. .bg-gradual-red {
  2896. background-image: var(--gradualRed);
  2897. color: var(--white);
  2898. }
  2899. .bg-gradual-orange {
  2900. background-image: var(--gradualOrange);
  2901. color: var(--white);
  2902. }
  2903. .bg-gradual-green {
  2904. background-image: var(--gradualGreen);
  2905. color: var(--white);
  2906. }
  2907. .bg-gradual-purple {
  2908. background-image: var(--gradualPurple);
  2909. color: var(--white);
  2910. }
  2911. .bg-gradual-pink {
  2912. background-image: var(--gradualPink);
  2913. color: var(--white);
  2914. }
  2915. .bg-gradual-blue {
  2916. background-image: var(--gradualBlue);
  2917. color: var(--white);
  2918. }
  2919. .shadow[class*="-red"] {
  2920. box-shadow: var(--ShadowSize) var(--redShadow);
  2921. }
  2922. .shadow[class*="-orange"] {
  2923. box-shadow: var(--ShadowSize) var(--orangeShadow);
  2924. }
  2925. .shadow[class*="-yellow"] {
  2926. box-shadow: var(--ShadowSize) var(--yellowShadow);
  2927. }
  2928. .shadow[class*="-olive"] {
  2929. box-shadow: var(--ShadowSize) var(--oliveShadow);
  2930. }
  2931. .shadow[class*="-green"] {
  2932. box-shadow: var(--ShadowSize) var(--greenShadow);
  2933. }
  2934. .shadow[class*="-cyan"] {
  2935. box-shadow: var(--ShadowSize) var(--cyanShadow);
  2936. }
  2937. .shadow[class*="-blue"] {
  2938. box-shadow: var(--ShadowSize) var(--blueShadow);
  2939. }
  2940. .shadow[class*="-purple"] {
  2941. box-shadow: var(--ShadowSize) var(--purpleShadow);
  2942. }
  2943. .shadow[class*="-mauve"] {
  2944. box-shadow: var(--ShadowSize) var(--mauveShadow);
  2945. }
  2946. .shadow[class*="-pink"] {
  2947. box-shadow: var(--ShadowSize) var(--pinkShadow);
  2948. }
  2949. .shadow[class*="-brown"] {
  2950. box-shadow: var(--ShadowSize) var(--brownShadow);
  2951. }
  2952. .shadow[class*="-grey"] {
  2953. box-shadow: var(--ShadowSize) var(--greyShadow);
  2954. }
  2955. .shadow[class*="-gray"] {
  2956. box-shadow: var(--ShadowSize) var(--grayShadow);
  2957. }
  2958. .shadow[class*="-black"] {
  2959. box-shadow: var(--ShadowSize) var(--blackShadow);
  2960. }
  2961. .shadow[class*="-white"] {
  2962. box-shadow: var(--ShadowSize) var(--blackShadow);
  2963. }
  2964. .text-shadow[class*="-red"] {
  2965. text-shadow: var(--ShadowSize) var(--redShadow);
  2966. }
  2967. .text-shadow[class*="-orange"] {
  2968. text-shadow: var(--ShadowSize) var(--orangeShadow);
  2969. }
  2970. .text-shadow[class*="-yellow"] {
  2971. text-shadow: var(--ShadowSize) var(--yellowShadow);
  2972. }
  2973. .text-shadow[class*="-olive"] {
  2974. text-shadow: var(--ShadowSize) var(--oliveShadow);
  2975. }
  2976. .text-shadow[class*="-green"] {
  2977. text-shadow: var(--ShadowSize) var(--greenShadow);
  2978. }
  2979. .text-shadow[class*="-cyan"] {
  2980. text-shadow: var(--ShadowSize) var(--cyanShadow);
  2981. }
  2982. .text-shadow[class*="-blue"] {
  2983. text-shadow: var(--ShadowSize) var(--blueShadow);
  2984. }
  2985. .text-shadow[class*="-purple"] {
  2986. text-shadow: var(--ShadowSize) var(--purpleShadow);
  2987. }
  2988. .text-shadow[class*="-mauve"] {
  2989. text-shadow: var(--ShadowSize) var(--mauveShadow);
  2990. }
  2991. .text-shadow[class*="-pink"] {
  2992. text-shadow: var(--ShadowSize) var(--pinkShadow);
  2993. }
  2994. .text-shadow[class*="-brown"] {
  2995. text-shadow: var(--ShadowSize) var(--brownShadow);
  2996. }
  2997. .text-shadow[class*="-grey"] {
  2998. text-shadow: var(--ShadowSize) var(--greyShadow);
  2999. }
  3000. .text-shadow[class*="-gray"] {
  3001. text-shadow: var(--ShadowSize) var(--grayShadow);
  3002. }
  3003. .text-shadow[class*="-black"] {
  3004. text-shadow: var(--ShadowSize) var(--blackShadow);
  3005. }
  3006. .bg-img {
  3007. background-size: cover;
  3008. background-position: center;
  3009. background-repeat: no-repeat;
  3010. }
  3011. .bg-mask {
  3012. background-color: var(--black);
  3013. position: relative;
  3014. }
  3015. .bg-mask::after {
  3016. content: "";
  3017. border-radius: inherit;
  3018. width: 100%;
  3019. height: 100%;
  3020. display: block;
  3021. background-color: rgba(0, 0, 0, 0.4);
  3022. position: absolute;
  3023. left: 0;
  3024. right: 0;
  3025. bottom: 0;
  3026. top: 0;
  3027. }
  3028. .bg-mask view, .bg-mask cover-view {
  3029. z-index: 5;
  3030. position: relative;
  3031. }
  3032. .bg-video {
  3033. position: relative;
  3034. }
  3035. .bg-video video {
  3036. display: block;
  3037. height: 100%;
  3038. width: 100%;
  3039. -o-object-fit: cover;
  3040. object-fit: cover;
  3041. position: absolute;
  3042. top: 0;
  3043. z-index: 0;
  3044. pointer-events: none;
  3045. }
  3046. /* ==================
  3047. 文本
  3048. ==================== */
  3049. .text-xs {
  3050. font-size: 20rpx;
  3051. }
  3052. .text-sm {
  3053. font-size: 24rpx;
  3054. }
  3055. .text-df {
  3056. font-size: 28rpx;
  3057. }
  3058. .text-lg {
  3059. font-size: 32rpx;
  3060. }
  3061. .text-xl {
  3062. font-size: 36rpx;
  3063. }
  3064. .text-xxl {
  3065. font-size: 44rpx;
  3066. }
  3067. .text-sl {
  3068. font-size: 80rpx;
  3069. }
  3070. .text-xsl {
  3071. font-size: 120rpx;
  3072. }
  3073. .text-Abc {
  3074. text-transform: Capitalize;
  3075. }
  3076. .text-ABC {
  3077. text-transform: Uppercase;
  3078. }
  3079. .text-abc {
  3080. text-transform: Lowercase;
  3081. }
  3082. .text-price::before {
  3083. content: "¥";
  3084. font-size: 80%;
  3085. margin-right: 4rpx;
  3086. }
  3087. .text-cut {
  3088. text-overflow: ellipsis;
  3089. white-space: nowrap;
  3090. overflow: hidden;
  3091. }
  3092. .text-bold {
  3093. font-weight: bold;
  3094. }
  3095. .text-center {
  3096. text-align: center;
  3097. }
  3098. .text-content {
  3099. line-height: 1.6;
  3100. }
  3101. .text-left {
  3102. text-align: left;
  3103. }
  3104. .text-right {
  3105. text-align: right;
  3106. }
  3107. .text-red, .line-red, .lines-red {
  3108. color: var(--red);
  3109. }
  3110. .text-orange, .line-orange, .lines-orange {
  3111. color: var(--orange);
  3112. }
  3113. .text-yellow, .line-yellow, .lines-yellow {
  3114. color: var(--yellow);
  3115. }
  3116. .text-olive, .line-olive, .lines-olive {
  3117. color: var(--olive);
  3118. }
  3119. .text-green, .line-green, .lines-green {
  3120. color: var(--green);
  3121. }
  3122. .text-cyan, .line-cyan, .lines-cyan {
  3123. color: var(--cyan);
  3124. }
  3125. .text-blue, .line-blue, .lines-blue {
  3126. color: var(--blue);
  3127. }
  3128. .text-purple, .line-purple, .lines-purple {
  3129. color: var(--purple);
  3130. }
  3131. .text-mauve, .line-mauve, .lines-mauve {
  3132. color: var(--mauve);
  3133. }
  3134. .text-pink, .line-pink, .lines-pink {
  3135. color: var(--pink);
  3136. }
  3137. .text-brown, .line-brown, .lines-brown {
  3138. color: var(--brown);
  3139. }
  3140. .text-grey, .line-grey, .lines-grey {
  3141. color: var(--grey);
  3142. }
  3143. .text-gray, .line-gray, .lines-gray {
  3144. color: var(--gray);
  3145. }
  3146. .text-black, .line-black, .lines-black {
  3147. color: var(--black);
  3148. }
  3149. .text-white, .line-white, .lines-white {
  3150. color: var(--white);
  3151. }