Hanye官网
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343
  1. <template>
  2. <div>
  3. <div class="w-full h-[55px] sm:h-[72px]"></div>
  4. <ErrorBoundary :error="error">
  5. <div v-if="isLoading" class="flex justify-center py-12">
  6. <!-- 加载中 -->
  7. <div
  8. class="animate-spin h-8 w-8 border-4 border-cyan-400 rounded-full border-t-transparent"
  9. ></div>
  10. </div>
  11. <div v-else class="scroll-smooth">
  12. <!-- 右侧锚点导航 -->
  13. <div
  14. class="fixed right-8 top-1/2 transform -translate-y-1/2 z-50 hidden lg:block"
  15. >
  16. <nav class="flex flex-col space-y-4">
  17. <button
  18. v-for="section in sections"
  19. :key="section.id"
  20. @click="scrollToSection(section.id)"
  21. class="group relative flex items-center"
  22. :class="{
  23. 'opacity-100': currentSection === section.id,
  24. 'opacity-50 hover:opacity-100': currentSection !== section.id,
  25. }"
  26. >
  27. <span
  28. class="w-2 h-2 rounded-full bg-[#35F1FF] transition-all duration-300"
  29. :class="{ 'scale-150': currentSection === section.id }"
  30. ></span>
  31. <span
  32. class="ml-3 text-sm text-white transition-all duration-300 transform translate-x-0 opacity-0 group-hover:translate-x-0 group-hover:opacity-100"
  33. :class="{
  34. 'translate-x-0 opacity-100': currentSection === section.id,
  35. }"
  36. >{{ section.name }}</span
  37. >
  38. </button>
  39. </nav>
  40. </div>
  41. <!-- 顶部横幅 -->
  42. <div v-if="false" class="w-full select-none">
  43. <div
  44. class="max-w-screen-2xl mx-auto h-[70vh] relative overflow-hidden"
  45. >
  46. <div
  47. class="w-full h-full relative z-30 flex flex-col text-center justify-center items-center transform transition-transform duration-1000"
  48. :style="{ transform: `translateY(${scrollY * 0.5}px)` }"
  49. >
  50. <h1
  51. class="text-white text-5xl font-bold mb-6 tracking-wider animate-title-in"
  52. >
  53. 会社情報
  54. </h1>
  55. <div
  56. class="w-24 h-px bg-[#35F1FF]/60 mx-auto mb-8 animate-line-expand"
  57. ></div>
  58. <p
  59. class="text-zinc-300/80 text-lg max-w-2xl mx-auto leading-relaxed animate-fade-in-delay"
  60. >
  61. 技術の力で、より良い未来を創造する
  62. </p>
  63. </div>
  64. <div
  65. class="absolute inset-0 bg-gradient-to-b from-black/60 via-black/40 to-black/60 z-20"
  66. ></div>
  67. <video
  68. autoplay
  69. muted
  70. loop
  71. poster="/assets/videos/about.webp"
  72. class="w-full h-full object-cover absolute z-10 left-0 right-0 top-0 bottom-0"
  73. src="/assets/videos/about.mp4"
  74. ></video>
  75. </div>
  76. </div>
  77. <!-- 会社概要 -->
  78. <div
  79. id="company-profile"
  80. class="section-block w-full bg-gradient-to-b from-zinc-900 via-zinc-800/80 to-zinc-900 py-40"
  81. ref="companyProfileRef"
  82. >
  83. <div class="max-w-screen-2xl mx-auto px-4 sm:px-6 lg:px-8">
  84. <div class="text-center mb-32 animate-fade-in">
  85. <h2
  86. class="section-title text-[#35F1FF] text-sm font-bold mb-4 tracking-[0.2em] animate-slide-in-left"
  87. >
  88. {{ t('about.full.nav.companyProfile') }}
  89. </h2>
  90. <h1
  91. class="text-zinc-300 text-3xl font-bold mb-6 tracking-wider animate-slide-in-right"
  92. >
  93. Company Profile
  94. </h1>
  95. <div
  96. class="w-16 h-px bg-[#35F1FF]/60 mx-auto animate-line-expand"
  97. ></div>
  98. </div>
  99. <div class="max-w-4xl mx-auto">
  100. <!-- 公司简介 -->
  101. <div class="mb-32 text-center">
  102. <h3 class="text-white text-2xl font-bold mb-8 tracking-wide">
  103. Hanye(ハンイエ)
  104. </h3>
  105. <p
  106. class="text-zinc-300/80 text-base leading-relaxed max-w-2xl mx-auto"
  107. >
  108. 2003年に中国・瀋陽で設立された、ストレージ技術分野に特化した総合型企業です。製品の開発から販売、アフターサービスまでを一貫して手がける、中国でも数少ないグローバル展開型ブランドの一つです。
  109. </p>
  110. </div>
  111. <!-- 核心内容 -->
  112. <div class="grid grid-cols-1 md:grid-cols-2 gap-32">
  113. <!-- 左侧:产品与服务 -->
  114. <div class="space-y-24">
  115. <div class="relative">
  116. <div
  117. class="absolute -left-6 top-0 w-px h-full bg-[#35F1FF]/60"
  118. ></div>
  119. <div class="pl-8">
  120. <h4
  121. class="text-[#35F1FF] text-lg font-bold mb-6 tracking-wide"
  122. >
  123. 製品とサービス
  124. </h4>
  125. <p class="text-zinc-300/80 text-sm leading-relaxed">
  126. メモリーカード、SSD(ソリッドステートドライブ)、メモリーモジュール、関連アクセサリーなど幅広い製品を取り扱っています。これらの製品は、コンシューマーエレクトロニクス、パーソナルコンピュータ、ゲーム機器、監視システムなど幅広い分野で活用されています。
  127. </p>
  128. </div>
  129. </div>
  130. <div class="relative">
  131. <div
  132. class="absolute -left-6 top-0 w-px h-full bg-[#35F1FF]/60"
  133. ></div>
  134. <div class="pl-8">
  135. <h4
  136. class="text-[#35F1FF] text-lg font-bold mb-6 tracking-wide"
  137. >
  138. 技術主導
  139. </h4>
  140. <p class="text-zinc-300/80 text-sm leading-relaxed">
  141. 継続的に研究開発へ投資し、卓越した技術力と厳格な品質管理体制を強みに、製品の性能と安定性の向上に取り組んでいます。
  142. </p>
  143. </div>
  144. </div>
  145. </div>
  146. <!-- 右侧:品质与服务 -->
  147. <div class="space-y-24">
  148. <div class="relative">
  149. <div
  150. class="absolute -left-6 top-0 w-px h-full bg-[#35F1FF]/60"
  151. ></div>
  152. <div class="pl-8">
  153. <h4
  154. class="text-[#35F1FF] text-lg font-bold mb-6 tracking-wide"
  155. >
  156. 品質第一
  157. </h4>
  158. <p class="text-zinc-300/80 text-sm leading-relaxed">
  159. 高品質でありながら優れたコストパフォーマンスを実現した製品を追求し、多様化する消費者のストレージニーズに的確に応えています。
  160. </p>
  161. </div>
  162. </div>
  163. <div class="relative">
  164. <div
  165. class="absolute -left-6 top-0 w-px h-full bg-[#35F1FF]/60"
  166. ></div>
  167. <div class="pl-8">
  168. <h4
  169. class="text-[#35F1FF] text-lg font-bold mb-6 tracking-wide"
  170. >
  171. グローバル展開
  172. </h4>
  173. <p class="text-zinc-300/80 text-sm leading-relaxed">
  174. 中国を拠点に、世界中のパートナーと協力しながら、グローバルな視点で製品開発とサービス提供を行っています。
  175. </p>
  176. </div>
  177. </div>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. <!-- 事業内容 -->
  184. <div
  185. id="business-content"
  186. class="section-block w-full bg-gradient-to-b from-indigo-900/60 via-indigo-800/40 to-indigo-900/60 py-48 relative overflow-hidden"
  187. ref="businessContentRef"
  188. >
  189. <div class="bg-decoration">
  190. <div
  191. class="bg-decoration-circle top-0 left-0 w-96 h-96 bg-indigo-500 transform -translate-x-1/2 -translate-y-1/2 animate-float"
  192. ></div>
  193. <div
  194. class="bg-decoration-circle bottom-0 right-0 w-96 h-96 bg-indigo-500 transform translate-x-1/2 translate-y-1/2 animate-float-delay"
  195. ></div>
  196. <div
  197. class="bg-decoration-circle top-1/2 left-1/2 w-64 h-64 bg-indigo-500 transform -translate-x-1/2 -translate-y-1/2 animate-pulse-slow"
  198. ></div>
  199. </div>
  200. <div class="max-w-screen-2xl mx-auto px-4 sm:px-6 lg:px-8 relative">
  201. <div class="text-center mb-40">
  202. <h2
  203. class="text-indigo-400 text-sm font-bold mb-4 tracking-[0.2em]"
  204. >
  205. 事業内容
  206. </h2>
  207. <h1 class="text-zinc-300 text-3xl font-bold mb-6 tracking-wider">
  208. Our Business
  209. </h1>
  210. <div class="w-16 h-px bg-indigo-400/60 mx-auto mb-8"></div>
  211. <p
  212. class="text-zinc-300/80 text-base max-w-2xl mx-auto leading-relaxed"
  213. >
  214. 技術の力で、より良い未来を創造する。<br
  215. class="hidden sm:block"
  216. />
  217. 私たちは、革新的なストレージソリューションを通じて、社会に貢献します。
  218. </p>
  219. </div>
  220. <div class="space-y-48">
  221. <!-- ストレージ製品の研究開発 -->
  222. <div class="relative group">
  223. <div
  224. class="absolute -left-8 top-0 w-px h-full bg-[#35F1FF]/60 transition-all duration-300 group-hover:h-[calc(100%+2rem)] group-hover:-top-4"
  225. ></div>
  226. <div class="pl-12">
  227. <div class="flex items-center space-x-6 mb-12">
  228. <div
  229. class="text-[#35F1FF] text-3xl font-bold tracking-tight"
  230. >
  231. 01
  232. </div>
  233. <h3 class="text-white text-2xl font-bold tracking-wide">
  234. ストレージ製品の研究開発
  235. </h3>
  236. </div>
  237. <p
  238. class="text-zinc-300/80 text-sm leading-relaxed mb-16 max-w-2xl"
  239. >
  240. SSD(ソリッドステートドライブ)、メモリーカード、メモリーモジュールなどのストレージ製品において、独自の設計・開発を行っています。
  241. </p>
  242. <div class="grid grid-cols-2 md:grid-cols-4 gap-12">
  243. <div class="group/item">
  244. <div
  245. class="text-[#35F1FF] text-xl font-bold mb-4 group-hover/item:scale-105 transition-all duration-300"
  246. >
  247. SSD
  248. </div>
  249. <div class="text-zinc-300/80 text-sm relative">
  250. ソリッドステートドライブ
  251. <div
  252. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  253. ></div>
  254. </div>
  255. </div>
  256. <div class="group/item">
  257. <div
  258. class="text-[#35F1FF] text-xl font-bold mb-4 group-hover/item:scale-105 transition-all duration-300"
  259. >
  260. メモリーカード
  261. </div>
  262. <div class="text-zinc-300/80 text-sm relative">
  263. 各種規格対応
  264. <div
  265. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  266. ></div>
  267. </div>
  268. </div>
  269. <div class="group/item">
  270. <div
  271. class="text-[#35F1FF] text-xl font-bold mb-4 group-hover/item:scale-105 transition-all duration-300"
  272. >
  273. メモリーモジュール
  274. </div>
  275. <div class="text-zinc-300/80 text-sm relative">
  276. 高性能・高信頼性
  277. <div
  278. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  279. ></div>
  280. </div>
  281. </div>
  282. <div class="group/item">
  283. <div
  284. class="text-[#35F1FF] text-xl font-bold mb-4 group-hover/item:scale-105 transition-all duration-300"
  285. >
  286. アクセサリー
  287. </div>
  288. <div class="text-zinc-300/80 text-sm relative">
  289. 関連製品開発
  290. <div
  291. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  292. ></div>
  293. </div>
  294. </div>
  295. </div>
  296. </div>
  297. </div>
  298. <!-- ストレージソリューションの提供 -->
  299. <div class="relative group">
  300. <div
  301. class="absolute -left-8 top-0 w-px h-full bg-[#35F1FF]/60 transition-all duration-300 group-hover:h-[calc(100%+2rem)] group-hover:-top-4"
  302. ></div>
  303. <div class="pl-12">
  304. <div class="flex items-center space-x-6 mb-12">
  305. <div
  306. class="text-[#35F1FF] text-3xl font-bold tracking-tight"
  307. >
  308. 02
  309. </div>
  310. <h3 class="text-white text-2xl font-bold tracking-wide">
  311. ストレージソリューションの提供
  312. </h3>
  313. </div>
  314. <p
  315. class="text-zinc-300/80 text-sm leading-relaxed mb-16 max-w-2xl"
  316. >
  317. 個人ユーザーから法人・各種業界まで、多様なニーズに応じた高性能かつカスタマイズ可能なストレージソリューションを提供しています。
  318. </p>
  319. <div class="grid grid-cols-1 md:grid-cols-2 gap-16">
  320. <div class="group/item">
  321. <h4
  322. class="text-[#35F1FF] text-lg font-bold mb-8 relative inline-block tracking-wide"
  323. >
  324. コンシューマー向け
  325. <div
  326. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  327. ></div>
  328. </h4>
  329. <div class="space-y-8">
  330. <div class="flex items-center space-x-4 group/list">
  331. <div
  332. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  333. ></div>
  334. <span class="text-zinc-300/80 text-sm"
  335. >個人ユーザー向け製品</span
  336. >
  337. </div>
  338. <div class="flex items-center space-x-4 group/list">
  339. <div
  340. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  341. ></div>
  342. <span class="text-zinc-300/80 text-sm"
  343. >ゲーミング向けソリューション</span
  344. >
  345. </div>
  346. <div class="flex items-center space-x-4 group/list">
  347. <div
  348. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  349. ></div>
  350. <span class="text-zinc-300/80 text-sm"
  351. >モバイル向けストレージ</span
  352. >
  353. </div>
  354. </div>
  355. </div>
  356. <div class="group/item">
  357. <h4
  358. class="text-[#35F1FF] text-lg font-bold mb-8 relative inline-block tracking-wide"
  359. >
  360. 産業用
  361. <div
  362. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  363. ></div>
  364. </h4>
  365. <div class="space-y-8">
  366. <div class="flex items-center space-x-4 group/list">
  367. <div
  368. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  369. ></div>
  370. <span class="text-zinc-300/80 text-sm"
  371. >企業向けストレージ</span
  372. >
  373. </div>
  374. <div class="flex items-center space-x-4 group/list">
  375. <div
  376. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  377. ></div>
  378. <span class="text-zinc-300/80 text-sm"
  379. >カスタマイズ可能なソリューション</span
  380. >
  381. </div>
  382. <div class="flex items-center space-x-4 group/list">
  383. <div
  384. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  385. ></div>
  386. <span class="text-zinc-300/80 text-sm"
  387. >業界特化型ソリューション</span
  388. >
  389. </div>
  390. </div>
  391. </div>
  392. </div>
  393. </div>
  394. </div>
  395. <!-- 技術サポートと品質管理 -->
  396. <div class="relative group">
  397. <div
  398. class="absolute -left-8 top-0 w-px h-full bg-[#35F1FF]/60 transition-all duration-300 group-hover:h-[calc(100%+2rem)] group-hover:-top-4"
  399. ></div>
  400. <div class="pl-12">
  401. <div class="flex items-center space-x-6 mb-12">
  402. <div
  403. class="text-[#35F1FF] text-3xl font-bold tracking-tight"
  404. >
  405. 03
  406. </div>
  407. <h3 class="text-white text-2xl font-bold tracking-wide">
  408. 技術サポートと品質管理
  409. </h3>
  410. </div>
  411. <p
  412. class="text-zinc-300/80 text-sm leading-relaxed mb-16 max-w-2xl"
  413. >
  414. 専門的な技術サポートやコンサルティング、充実したアフターサービスを通じて、長期的な信頼関係の構築を目指しています。
  415. </p>
  416. <div class="grid grid-cols-1 md:grid-cols-2 gap-16">
  417. <div class="group/item">
  418. <div
  419. class="text-[#35F1FF] text-xl font-bold mb-8 relative inline-block tracking-wide"
  420. >
  421. 技術サポート
  422. <div
  423. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  424. ></div>
  425. </div>
  426. <div class="space-y-8">
  427. <div class="flex items-center space-x-4 group/list">
  428. <div
  429. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  430. ></div>
  431. <span class="text-zinc-300/80 text-sm"
  432. >専門的な技術相談</span
  433. >
  434. </div>
  435. <div class="flex items-center space-x-4 group/list">
  436. <div
  437. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  438. ></div>
  439. <span class="text-zinc-300/80 text-sm"
  440. >最適なソリューション提案</span
  441. >
  442. </div>
  443. <div class="flex items-center space-x-4 group/list">
  444. <div
  445. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  446. ></div>
  447. <span class="text-zinc-300/80 text-sm"
  448. >技術トレーニング</span
  449. >
  450. </div>
  451. </div>
  452. </div>
  453. <div class="group/item">
  454. <div
  455. class="text-[#35F1FF] text-xl font-bold mb-8 relative inline-block tracking-wide"
  456. >
  457. 品質管理
  458. <div
  459. class="absolute -bottom-2 left-0 w-0 h-px bg-[#35F1FF]/60 transition-all duration-300 group-hover/item:w-full"
  460. ></div>
  461. </div>
  462. <div class="space-y-8">
  463. <div class="flex items-center space-x-4 group/list">
  464. <div
  465. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  466. ></div>
  467. <span class="text-zinc-300/80 text-sm"
  468. >厳格な品質チェック</span
  469. >
  470. </div>
  471. <div class="flex items-center space-x-4 group/list">
  472. <div
  473. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  474. ></div>
  475. <span class="text-zinc-300/80 text-sm"
  476. >アフターサービス</span
  477. >
  478. </div>
  479. <div class="flex items-center space-x-4 group/list">
  480. <div
  481. class="w-1.5 h-1.5 bg-[#35F1FF]/60 rounded-full transition-transform duration-300 group-hover/list:scale-125"
  482. ></div>
  483. <span class="text-zinc-300/80 text-sm"
  484. >品質保証体制</span
  485. >
  486. </div>
  487. </div>
  488. </div>
  489. </div>
  490. </div>
  491. </div>
  492. <!-- 革新的な研究開発と品質管理 -->
  493. <div class="relative group">
  494. <div
  495. class="absolute -left-8 top-0 w-px h-full bg-[#35F1FF]/60 transition-all duration-300 group-hover:h-[calc(100%+2rem)] group-hover:-top-4"
  496. ></div>
  497. <div class="pl-12">
  498. <div class="flex items-center space-x-6 mb-12">
  499. <div
  500. class="text-[#35F1FF] text-3xl font-bold tracking-tight"
  501. >
  502. 04
  503. </div>
  504. <h3 class="text-white text-2xl font-bold tracking-wide">
  505. 革新的な研究開発と品質管理
  506. </h3>
  507. </div>
  508. <p class="text-zinc-300/80 text-sm leading-relaxed max-w-2xl">
  509. 継続的な研究開発への投資を通じて技術革新を推進し、同時に厳格な品質管理体制を整備することで、製品の安定性と信頼性を確保しています。
  510. </p>
  511. </div>
  512. </div>
  513. </div>
  514. </div>
  515. </div>
  516. <!-- 経営理念 -->
  517. <div
  518. id="philosophy"
  519. class="section-block w-full bg-gradient-to-b from-emerald-900/60 via-emerald-800/40 to-emerald-900/60 py-40"
  520. ref="philosophyRef"
  521. >
  522. <div class="max-w-screen-2xl mx-auto px-4 sm:px-6 lg:px-8">
  523. <div class="text-center mb-32 animate-fade-in">
  524. <h2
  525. class="section-title text-emerald-400 text-sm font-bold mb-4 tracking-[0.2em] animate-slide-in-left"
  526. >
  527. 経営理念
  528. </h2>
  529. <h1
  530. class="text-zinc-300 text-3xl font-bold mb-6 tracking-wider animate-slide-in-right"
  531. >
  532. Our Philosophy
  533. </h1>
  534. <div
  535. class="w-16 h-px bg-emerald-400/60 mx-auto animate-line-expand"
  536. ></div>
  537. </div>
  538. <div class="grid grid-cols-1 md:grid-cols-3 gap-24">
  539. <div class="relative">
  540. <div
  541. class="absolute -left-4 top-0 w-px h-full bg-[#35F1FF]/60"
  542. ></div>
  543. <div class="pl-8">
  544. <h3 class="text-white text-xl font-bold mb-6 tracking-wide">
  545. 誠実
  546. </h3>
  547. <p class="text-zinc-300/80 text-sm leading-relaxed">
  548. お客様との信頼関係を最重視し、誠実な対応を心がけています。透明性のある経営と公正な取引を徹底しています。
  549. </p>
  550. </div>
  551. </div>
  552. <div class="relative">
  553. <div
  554. class="absolute -left-4 top-0 w-px h-full bg-[#35F1FF]/60"
  555. ></div>
  556. <div class="pl-8">
  557. <h3 class="text-white text-xl font-bold mb-6 tracking-wide">
  558. 革新
  559. </h3>
  560. <p class="text-zinc-300/80 text-sm leading-relaxed">
  561. 常に最新技術の研究開発に取り組み、革新的な製品の提供を目指しています。技術の進歩に柔軟に対応し、新しい価値を創造します。
  562. </p>
  563. </div>
  564. </div>
  565. <div class="relative">
  566. <div
  567. class="absolute -left-4 top-0 w-px h-full bg-[#35F1FF]/60"
  568. ></div>
  569. <div class="pl-8">
  570. <h3 class="text-white text-xl font-bold mb-6 tracking-wide">
  571. 共栄
  572. </h3>
  573. <p class="text-zinc-300/80 text-sm leading-relaxed">
  574. お客様とともに成長し、持続的なパートナーシップを築くことを目指しています。相互理解と協力により、共に発展していきます。
  575. </p>
  576. </div>
  577. </div>
  578. </div>
  579. <div class="mt-32 text-center">
  580. <p
  581. class="text-zinc-300/80 text-sm leading-relaxed max-w-3xl mx-auto"
  582. >
  583. Hanyeは、「誠実・革新・共栄」を経営理念として掲げ、絶え間ない技術革新と徹底した品質管理により、信頼性の高いストレージ製品とソリューションをお客様に提供しています。
  584. </p>
  585. <p
  586. class="text-zinc-300/80 text-sm leading-relaxed max-w-3xl mx-auto mt-8"
  587. >
  588. 私たちは常に顧客志向を貫き、ユーザーの多様なニーズに応えながら、製品性能とサービス価値の継続的な向上に取り組んでいます。お客様とともに成長し、持続的なパートナーシップを築くことを目指しています。
  589. </p>
  590. </div>
  591. </div>
  592. </div>
  593. <!-- 会社情報 -->
  594. <div
  595. id="company-info"
  596. class="section-block w-full bg-gradient-to-b from-rose-900/60 via-rose-800/40 to-rose-900/60 py-48"
  597. ref="companyInfoRef"
  598. >
  599. <div class="max-w-screen-2xl mx-auto px-4 sm:px-6 lg:px-8">
  600. <div class="text-center mb-24 animate-fade-in">
  601. <h2
  602. class="section-title text-rose-400 text-sm font-bold mb-4 tracking-[0.2em] animate-slide-in-left"
  603. >
  604. 会社情報
  605. </h2>
  606. <h1
  607. class="text-zinc-300 text-3xl font-bold mb-6 tracking-wider animate-slide-in-right"
  608. >
  609. Company Information
  610. </h1>
  611. <div
  612. class="w-16 h-px bg-rose-400/60 mx-auto animate-line-expand"
  613. ></div>
  614. </div>
  615. <div class="max-w-3xl mx-auto">
  616. <div class="grid grid-cols-1 md:grid-cols-2 gap-16">
  617. <div class="space-y-10">
  618. <div class="flex items-start">
  619. <span
  620. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  621. >会社名</span
  622. >
  623. <div class="text-zinc-300">
  624. <div>Hanye</div>
  625. <div class="text-xs text-zinc-400">
  626. Hanye Technology Co., Ltd.
  627. </div>
  628. </div>
  629. </div>
  630. <div class="flex items-start">
  631. <span
  632. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  633. >設立</span
  634. >
  635. <span class="text-zinc-300">2003年</span>
  636. </div>
  637. <div class="flex items-start">
  638. <span
  639. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  640. >代表取締役</span
  641. >
  642. <span class="text-zinc-300">ZHENG XIAO DONG</span>
  643. </div>
  644. <div class="flex items-start">
  645. <span
  646. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  647. >従業員数</span
  648. >
  649. <span class="text-zinc-300">30人</span>
  650. </div>
  651. </div>
  652. <div class="space-y-10">
  653. <div class="flex items-start">
  654. <span
  655. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  656. >所在地</span
  657. >
  658. <div class="text-zinc-300">
  659. <div>中国・瀋陽</div>
  660. <div class="text-xs text-zinc-400">
  661. 803, NO.6, AiTe, 90-6# SanHao Street,<br />
  662. Heping District, ShenYang, China
  663. </div>
  664. </div>
  665. </div>
  666. <div class="flex items-start">
  667. <span
  668. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  669. >事業内容</span
  670. >
  671. <span class="text-zinc-300"
  672. >ストレージ製品の開発・製造・販売</span
  673. >
  674. </div>
  675. <div class="flex items-start">
  676. <span
  677. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  678. >電話番号</span
  679. >
  680. <span class="text-zinc-300">{{ companyInfoData.tel }}</span>
  681. </div>
  682. <div class="flex items-start">
  683. <span
  684. class="text-[#35F1FF] w-32 flex-shrink-0 tracking-wide text-sm"
  685. >メール</span
  686. >
  687. <span class="text-zinc-300">{{
  688. companyInfoData.email
  689. }}</span>
  690. </div>
  691. </div>
  692. </div>
  693. </div>
  694. </div>
  695. </div>
  696. <!-- 产品咨询 -->
  697. <div id="contact" ref="contactRef" class="max-w-full h-[240px] md:h-[480px] bg-black/80 md:block">
  698. <div class="h-full relative">
  699. <div
  700. class="absolute top-0 left-0 w-full h-full flex flex-col gap-4 md:gap-6 items-center justify-center z-10 px-4"
  701. >
  702. <h1
  703. class="text-center text-white font-normal text-lg sm:text-xl md:text-3xl"
  704. >
  705. {{ t("products.consultation") }}
  706. </h1>
  707. <nuxt-link
  708. :to="`${homepagePath}/contact`"
  709. class="w-28 h-9 md:w-40 md:h-11 bg-zinc-300/10 rounded-lg outline outline-1 flex items-center justify-center gap-2 outline-white/20 backdrop-blur-[10px] cursor-pointer hover:bg-zinc-300/20 transition-colors duration-200"
  710. >
  711. <span class="text-sm md:text-base font-normal">{{
  712. t("products.consultation_button")
  713. }}</span>
  714. <i class="icon-arrow-right text-xs md:text-sm font-normal"></i>
  715. </nuxt-link>
  716. </div>
  717. <img
  718. v-if="isMobile"
  719. :src="videoWebp"
  720. alt="video"
  721. class="w-full h-full object-cover opacity-20"
  722. />
  723. <video
  724. v-else
  725. :src="videoSrc"
  726. autoplay
  727. muted
  728. loop
  729. :poster="videoWebp"
  730. class="w-full h-full object-cover opacity-20"
  731. ></video>
  732. </div>
  733. </div>
  734. </div>
  735. </ErrorBoundary>
  736. </div>
  737. </template>
  738. <script setup lang="ts">
  739. /**
  740. * 公司简介页面
  741. * 展示公司基本信息、理念等
  742. */
  743. import { useBreakpoints, breakpointsTailwind } from "@vueuse/core";
  744. import { useErrorHandler } from "~/composables/useErrorHandler";
  745. import { useI18n } from "vue-i18n";
  746. const { t, locale } = useI18n();
  747. // 是否移动端
  748. const breakpoints = useBreakpoints(breakpointsTailwind);
  749. const isMobile = breakpoints.smaller("md");
  750. import video from "@/assets/videos/video.mp4";
  751. import videoWebp from "@/assets/videos/video.webp";
  752. const videoSrc = ref(video);
  753. // 公司信息接口定义
  754. interface CompanyInfo {
  755. email: string;
  756. tel: string;
  757. fax: string;
  758. }
  759. const homepagePath = computed(() => {
  760. return locale.value === "zh" ? "" : `/${locale.value}`;
  761. });
  762. const { error, isLoading, wrapAsync } = useErrorHandler();
  763. const companyInfoData = ref<CompanyInfo>({
  764. email: "hanye@hanye.cn",
  765. tel: "+86-024-83990696",
  766. fax: "+86-024-83990696",
  767. });
  768. // 滚动相关
  769. const scrollY = ref(0);
  770. const isVisible = ref(false);
  771. const companyProfileRef = ref<HTMLElement | null>(null);
  772. const businessContentRef = ref<HTMLElement | null>(null);
  773. const philosophyRef = ref<HTMLElement | null>(null);
  774. const companyInfoRef = ref<HTMLElement | null>(null);
  775. const contactRef = ref<HTMLElement | null>(null);
  776. // 定义区块信息
  777. const sections = [
  778. { id: "company-profile", name: t('about.full.nav.companyProfile') },
  779. { id: "business-content", name: t('about.full.nav.businessContent') },
  780. { id: "philosophy", name: t('about.full.nav.philosophy')},
  781. { id: "company-info", name: t('about.full.nav.companyInfo')},
  782. { id: "contact", name: t('about.full.nav.contact') },
  783. ];
  784. // 当前激活的区块
  785. const currentSection = ref("");
  786. // 滚动到指定区块
  787. const scrollToSection = (id: string) => {
  788. const element = document.getElementById(id);
  789. if (element) {
  790. element.scrollIntoView({ behavior: "smooth" });
  791. }
  792. };
  793. // 监听滚动
  794. onMounted(() => {
  795. window.addEventListener("scroll", handleScroll);
  796. handleScroll(); // 初始化检查
  797. });
  798. onUnmounted(() => {
  799. window.removeEventListener("scroll", handleScroll);
  800. });
  801. // 处理滚动
  802. const handleScroll = () => {
  803. scrollY.value = window.scrollY;
  804. // 检查元素是否在视口中
  805. const checkVisibility = (el: HTMLElement | null) => {
  806. if (!el) return false;
  807. const rect = el.getBoundingClientRect();
  808. const windowHeight = window.innerHeight;
  809. return rect.top <= windowHeight * 0.8;
  810. };
  811. // 更新可见性状态
  812. if (companyProfileRef.value) {
  813. companyProfileRef.value.classList.toggle(
  814. "animate-in",
  815. checkVisibility(companyProfileRef.value)
  816. );
  817. if (checkVisibility(companyProfileRef.value)) {
  818. currentSection.value = "company-profile";
  819. }
  820. }
  821. if (businessContentRef.value) {
  822. businessContentRef.value.classList.toggle(
  823. "animate-in",
  824. checkVisibility(businessContentRef.value)
  825. );
  826. if (checkVisibility(businessContentRef.value)) {
  827. currentSection.value = "business-content";
  828. }
  829. }
  830. if (philosophyRef.value) {
  831. philosophyRef.value.classList.toggle(
  832. "animate-in",
  833. checkVisibility(philosophyRef.value)
  834. );
  835. if (checkVisibility(philosophyRef.value)) {
  836. currentSection.value = "philosophy";
  837. }
  838. }
  839. if (companyInfoRef.value) {
  840. companyInfoRef.value.classList.toggle(
  841. "animate-in",
  842. checkVisibility(companyInfoRef.value)
  843. );
  844. if (checkVisibility(companyInfoRef.value)) {
  845. currentSection.value = "company-info";
  846. }
  847. }
  848. if (contactRef.value) {
  849. contactRef.value.classList.toggle(
  850. "animate-in",
  851. checkVisibility(contactRef.value)
  852. );
  853. if (checkVisibility(contactRef.value)) {
  854. currentSection.value = "contact";
  855. }
  856. }
  857. };
  858. // SEO优化
  859. useHead({
  860. title: `${t("about.title")} - Hanye`,
  861. meta: [
  862. {
  863. name: "description",
  864. content: t("about.description"),
  865. },
  866. {
  867. name: "keywords",
  868. content: t("about.keywords"),
  869. },
  870. ],
  871. });
  872. </script>
  873. <style scoped>
  874. /* 基础动画类 */
  875. .section-block {
  876. opacity: 0;
  877. transform: translateY(30px);
  878. transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
  879. position: relative;
  880. }
  881. .animate-in {
  882. opacity: 1 !important;
  883. transform: translateY(0) !important;
  884. }
  885. /* 优化动画效果 */
  886. @keyframes fadeInUp {
  887. from {
  888. opacity: 0;
  889. transform: translateY(30px);
  890. }
  891. to {
  892. opacity: 1;
  893. transform: translateY(0);
  894. }
  895. }
  896. .animate-fade-in {
  897. opacity: 0;
  898. animation: fadeInUp 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  899. }
  900. .animate-fade-in-delay {
  901. opacity: 0;
  902. animation: fadeInUp 1s cubic-bezier(0.4, 0, 0.2, 1) 0.3s forwards;
  903. }
  904. @keyframes lineExpand {
  905. from {
  906. width: 0;
  907. opacity: 0;
  908. }
  909. to {
  910. width: 4rem;
  911. opacity: 1;
  912. }
  913. }
  914. .animate-line-expand {
  915. width: 0;
  916. opacity: 0;
  917. animation: lineExpand 1.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  918. }
  919. @keyframes slideInLeft {
  920. from {
  921. opacity: 0;
  922. transform: translateX(-30px);
  923. }
  924. to {
  925. opacity: 1;
  926. transform: translateX(0);
  927. }
  928. }
  929. @keyframes slideInRight {
  930. from {
  931. opacity: 0;
  932. transform: translateX(30px);
  933. }
  934. to {
  935. opacity: 1;
  936. transform: translateX(0);
  937. }
  938. }
  939. .animate-slide-in-left {
  940. opacity: 0;
  941. animation: slideInLeft 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  942. }
  943. .animate-slide-in-right {
  944. opacity: 0;
  945. animation: slideInRight 1s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  946. }
  947. /* 模块特定的样式 */
  948. .section-block {
  949. position: relative;
  950. transition: all 0.5s ease;
  951. }
  952. .section-block::before {
  953. content: "";
  954. position: absolute;
  955. inset: 0;
  956. background: linear-gradient(
  957. 45deg,
  958. transparent,
  959. rgba(255, 255, 255, 0.03),
  960. transparent
  961. );
  962. opacity: 0;
  963. transition: opacity 0.5s ease;
  964. pointer-events: none;
  965. }
  966. .section-block:hover::before {
  967. opacity: 1;
  968. }
  969. /* 为每个模块添加特定的样式 */
  970. #company-profile {
  971. background: linear-gradient(to bottom, rgba(53, 241, 255, 0.1), transparent);
  972. border-top: 1px solid rgba(53, 241, 255, 0.2);
  973. border-bottom: 1px solid rgba(53, 241, 255, 0.2);
  974. }
  975. #business-content {
  976. background: linear-gradient(to bottom, rgba(99, 102, 241, 0.1), transparent);
  977. border-top: 1px solid rgba(99, 102, 241, 0.1);
  978. border-bottom: 1px solid rgba(99, 102, 241, 0.1);
  979. }
  980. #philosophy {
  981. background: linear-gradient(to bottom, rgba(52, 211, 153, 0.1), transparent);
  982. border-top: 1px solid rgba(52, 211, 153, 0.1);
  983. border-bottom: 1px solid rgba(52, 211, 153, 0.1);
  984. }
  985. #company-info {
  986. background: linear-gradient(to bottom, rgba(251, 113, 133, 0.1), transparent);
  987. border-top: 1px solid rgba(251, 113, 133, 0.1);
  988. border-bottom: 1px solid rgba(251, 113, 133, 0.1);
  989. }
  990. #contact {
  991. background: linear-gradient(to bottom, rgba(251, 191, 36, 0.1), transparent);
  992. border-top: 1px solid rgba(251, 191, 36, 0.1);
  993. border-bottom: 1px solid rgba(251, 191, 36, 0.1);
  994. }
  995. /* 优化滚动条样式 */
  996. ::-webkit-scrollbar {
  997. width: 6px;
  998. }
  999. ::-webkit-scrollbar-track {
  1000. background: rgba(0, 0, 0, 0.1);
  1001. }
  1002. ::-webkit-scrollbar-thumb {
  1003. background: rgba(53, 241, 255, 0.3);
  1004. border-radius: 3px;
  1005. transition: background 0.3s ease;
  1006. }
  1007. ::-webkit-scrollbar-thumb:hover {
  1008. background: rgba(53, 241, 255, 0.5);
  1009. }
  1010. /* 优化背景装饰 */
  1011. .bg-decoration {
  1012. position: absolute;
  1013. inset: 0;
  1014. opacity: 0.05;
  1015. pointer-events: none;
  1016. }
  1017. .bg-decoration-circle {
  1018. position: absolute;
  1019. border-radius: 50%;
  1020. filter: blur(80px);
  1021. transition: all 0.5s ease;
  1022. }
  1023. /* 添加模块分隔线 */
  1024. .section-block::after {
  1025. content: "";
  1026. position: absolute;
  1027. left: 0;
  1028. right: 0;
  1029. height: 1px;
  1030. background: linear-gradient(
  1031. to right,
  1032. transparent,
  1033. rgba(255, 255, 255, 0.1),
  1034. transparent
  1035. );
  1036. opacity: 0.5;
  1037. }
  1038. /* 优化标题颜色 */
  1039. #company-profile h2 {
  1040. color: #35f1ff;
  1041. }
  1042. #business-content h2 {
  1043. color: #818cf8;
  1044. }
  1045. #philosophy h2 {
  1046. color: #34d399;
  1047. }
  1048. #company-info h2 {
  1049. color: #fb7185;
  1050. }
  1051. #contact h2 {
  1052. color: #fbbf24;
  1053. }
  1054. /* 优化装饰线颜色 */
  1055. #company-profile .animate-line-expand {
  1056. background: rgba(53, 241, 255, 0.6);
  1057. }
  1058. #business-content .animate-line-expand {
  1059. background: rgba(99, 102, 241, 0.6);
  1060. }
  1061. #philosophy .animate-line-expand {
  1062. background: rgba(52, 211, 153, 0.6);
  1063. }
  1064. #company-info .animate-line-expand {
  1065. background: rgba(251, 113, 133, 0.6);
  1066. }
  1067. #contact .animate-line-expand {
  1068. background: rgba(251, 191, 36, 0.6);
  1069. }
  1070. /* 锚点导航样式 */
  1071. .anchor-nav {
  1072. position: fixed;
  1073. right: 2rem;
  1074. top: 50%;
  1075. transform: translateY(-50%);
  1076. z-index: 50;
  1077. }
  1078. .anchor-nav button {
  1079. position: relative;
  1080. display: flex;
  1081. align-items: center;
  1082. padding: 0.5rem;
  1083. transition: all 0.3s ease;
  1084. }
  1085. .anchor-nav button::before {
  1086. content: "";
  1087. position: absolute;
  1088. left: -0.5rem;
  1089. width: 0;
  1090. height: 1px;
  1091. background-color: #35f1ff;
  1092. transition: width 0.3s ease;
  1093. }
  1094. .anchor-nav button:hover::before {
  1095. width: 0.5rem;
  1096. }
  1097. .anchor-nav button.active {
  1098. opacity: 1;
  1099. }
  1100. .anchor-nav button.active::before {
  1101. width: 0.5rem;
  1102. }
  1103. /* 响应式优化 */
  1104. @media (max-width: 640px) {
  1105. .section-block {
  1106. padding-top: 3rem;
  1107. padding-bottom: 3rem;
  1108. }
  1109. .section-title {
  1110. font-size: 0.875rem;
  1111. }
  1112. .text-3xl {
  1113. font-size: 1.5rem;
  1114. }
  1115. .text-2xl {
  1116. font-size: 1.25rem;
  1117. }
  1118. .text-xl {
  1119. font-size: 1.125rem;
  1120. }
  1121. .text-lg {
  1122. font-size: 1rem;
  1123. }
  1124. .text-base {
  1125. font-size: 0.875rem;
  1126. }
  1127. .text-sm {
  1128. font-size: 0.75rem;
  1129. }
  1130. .gap-24 {
  1131. gap: 2rem;
  1132. }
  1133. .gap-16 {
  1134. gap: 1.5rem;
  1135. }
  1136. .gap-12 {
  1137. gap: 1rem;
  1138. }
  1139. .mb-32 {
  1140. margin-bottom: 2rem;
  1141. }
  1142. .mb-24 {
  1143. margin-bottom: 1.5rem;
  1144. }
  1145. .mb-16 {
  1146. margin-bottom: 1rem;
  1147. }
  1148. .mb-12 {
  1149. margin-bottom: 0.75rem;
  1150. }
  1151. .mb-8 {
  1152. margin-bottom: 0.5rem;
  1153. }
  1154. .mb-6 {
  1155. margin-bottom: 0.375rem;
  1156. }
  1157. .mb-4 {
  1158. margin-bottom: 0.25rem;
  1159. }
  1160. .space-y-24 {
  1161. gap: 2rem;
  1162. }
  1163. .space-y-16 {
  1164. gap: 1.5rem;
  1165. }
  1166. .space-y-12 {
  1167. gap: 1rem;
  1168. }
  1169. .space-y-8 {
  1170. gap: 0.75rem;
  1171. }
  1172. .space-y-6 {
  1173. gap: 0.5rem;
  1174. }
  1175. .space-y-4 {
  1176. gap: 0.375rem;
  1177. }
  1178. .pl-12 {
  1179. padding-left: 1rem;
  1180. }
  1181. .pl-8 {
  1182. padding-left: 0.75rem;
  1183. }
  1184. .px-4 {
  1185. padding-left: 1rem;
  1186. padding-right: 1rem;
  1187. }
  1188. .py-40 {
  1189. padding-top: 2rem;
  1190. padding-bottom: 2rem;
  1191. }
  1192. .py-48 {
  1193. padding-top: 2.5rem;
  1194. padding-bottom: 2.5rem;
  1195. }
  1196. }
  1197. /* 优化移动端导航 */
  1198. @media (max-width: 1024px) {
  1199. .anchor-nav {
  1200. display: none;
  1201. }
  1202. }
  1203. /* 优化移动端间距 */
  1204. @media (max-width: 768px) {
  1205. .max-w-2xl {
  1206. max-width: 100%;
  1207. }
  1208. .max-w-3xl {
  1209. max-width: 100%;
  1210. }
  1211. .max-w-4xl {
  1212. max-width: 100%;
  1213. }
  1214. .grid-cols-2 {
  1215. grid-template-columns: 1fr;
  1216. }
  1217. .grid-cols-3 {
  1218. grid-template-columns: 1fr;
  1219. }
  1220. .grid-cols-4 {
  1221. grid-template-columns: 1fr 1fr;
  1222. }
  1223. }
  1224. /* 优化移动端动画 */
  1225. @media (max-width: 640px) {
  1226. .animate-slide-in-left,
  1227. .animate-slide-in-right {
  1228. animation-duration: 0.8s;
  1229. }
  1230. .animate-fade-in,
  1231. .animate-fade-in-delay {
  1232. animation-duration: 0.8s;
  1233. }
  1234. .animate-line-expand {
  1235. animation-duration: 1s;
  1236. }
  1237. }
  1238. </style>