knowledge.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <meta name="description" content="浠艾福成长百科 — 围绕身·智·富·行·心五大维度,用科学知识为每个家庭的健康成长保驾护航。">
  7. <meta name="keywords" content="浠艾福,成长百科,育儿知识,五维能量,亲子教育">
  8. <meta property="og:title" content="成长百科 — 浠艾福主动健康学院">
  9. <meta property="og:description" content="围绕身·智·富·行·心五大维度,用科学知识为每个家庭的健康成长保驾护航。">
  10. <meta property="og:type" content="website">
  11. <meta property="og:url" content="https://www.etotem.com.cn/knowledge.html">
  12. <meta name="theme-color" content="#4A9BD7">
  13. <title>成长百科 — 浠艾福主动健康学院</title>
  14. <link rel="stylesheet" href="css/style.css">
  15. <!-- Microsoft Clarity -->
  16. <script>
  17. (function(c,l,a,r,i,t,y){
  18. c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};
  19. t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i;
  20. y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);
  21. })(window, document, "clarity", "script", "xj4p74ra9m");
  22. </script>
  23. <style>
  24. :root {
  25. --c-body: #FF8C42;
  26. --c-wisdom: #6366F1;
  27. --c-wealth: #F59E0B;
  28. --c-action: #10B981;
  29. --c-heart: #FF6B9D;
  30. }
  31. html.kb-page, .kb-page body { height: 100vh; overflow: hidden; }
  32. .kb-page body { display: flex; flex-direction: column; background: linear-gradient(135deg, #FAFBFC 0%, #F0F4F8 100%); }
  33. .kb-main { flex:1; display:flex; flex-direction:column; max-width:1200px; width:100%; margin:0 auto; padding:0 var(--space-lg); overflow:hidden; position:relative; z-index:1; }
  34. .kb-header { text-align:center; flex-shrink:0; padding:var(--space-lg) 0 var(--space-md); }
  35. .kb-header h1 { font-size:2rem; font-weight:800; color:var(--color-text-primary); margin-bottom:2px; }
  36. .kb-header p { font-size:var(--font-size-small); color:var(--color-text-secondary); }
  37. .kb-body-wrap { flex:1; display:flex; align-items:center; justify-content:center; padding-bottom:var(--space-md); min-height:0; position:relative; }
  38. .kb-body-inner { position:relative; width:100%; max-width:700px; height:100%; display:flex; align-items:center; justify-content:center; }
  39. .kb-body-img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; border-radius:var(--radius-lg); box-shadow:0 8px 40px rgba(74,155,215,0.08); }
  40. .kb-marker { position:absolute; z-index:2; pointer-events:none; }
  41. .kb-marker-card { pointer-events:auto; background:rgba(255,255,255,0.95); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-radius:12px; padding:10px 14px; border:1.5px solid var(--m-color,var(--color-border-light)); box-shadow:0 4px 16px rgba(0,0,0,0.06); min-width:170px; max-width:220px; transition:box-shadow var(--transition-fast), transform var(--transition-fast); }
  42. .kb-marker-card:hover { box-shadow:0 6px 24px rgba(0,0,0,0.10); transform:translateY(-1px); }
  43. .kb-marker-dot { position:absolute; width:12px; height:12px; border-radius:50%; background:var(--m-color); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,0.15); top:50%; margin-top:-6px; pointer-events:none; }
  44. .kb-marker--right .kb-marker-dot { left:-6px; }
  45. .kb-marker--left .kb-marker-dot { right:-6px; }
  46. .kb-marker-head { display:flex; align-items:center; gap:6px; margin-bottom:6px; padding-bottom:6px; border-bottom:1px solid var(--color-border-light); }
  47. .kb-marker-label { font-size:0.8125rem; font-weight:700; color:var(--m-color,var(--color-text-primary)); }
  48. .kb-marker-card a { display:flex; align-items:center; gap:6px; padding:5px 0; text-decoration:none; color:var(--color-text-secondary); font-size:0.8125rem; line-height:1.3; border-bottom:1px solid var(--color-border-light); transition:color var(--transition-fast); }
  49. .kb-marker-card a:last-child { border-bottom:none; }
  50. .kb-marker-card a:hover { color:var(--m-color,var(--color-primary)); }
  51. .kb-marker-card a .ma-icon { font-size:1rem; flex-shrink:0; }
  52. .kb-marker-card a .ma-title { flex:1; min-width:0; }
  53. .kb-marker-card a .ma-arrow { flex-shrink:0; font-size:0.75rem; opacity:0.3; transition:transform var(--transition-fast); }
  54. .kb-marker-card a:hover .ma-arrow { transform:translateX(3px); opacity:0.7; }
  55. .kb-marker-card .ma-coming { opacity:0.5; cursor:default; pointer-events:none; font-size:0.75rem; padding:4px 0; }
  56. .kb-m-pos-brain { top:13%; left:56%; }
  57. .kb-m-pos-heart { top:33%; right:54%; }
  58. .kb-m-pos-body { top:48%; left:54%; }
  59. .kb-m-pos-wealth { top:64%; right:54%; }
  60. .kb-m-pos-action { top:82%; left:54%; }
  61. .kb-footer { flex-shrink:0; text-align:center; padding:var(--space-sm) 0; font-size:var(--font-size-tiny); color:var(--color-text-muted); border-top:1px solid var(--color-border-light); }
  62. .kb-footer a { color:var(--color-text-muted); text-decoration:none; }
  63. .kb-footer a:hover { color:var(--color-primary); }
  64. .kb-mobile { display:none; }
  65. @media (max-width:768px) {
  66. .kb-body-wrap { display:none; }
  67. .kb-mobile { display:flex; flex-direction:column; flex:1; min-height:0; }
  68. .kb-header { padding:var(--space-md) 0 var(--space-sm); }
  69. .kb-header h1 { font-size:1.5rem; }
  70. .kb-tabs { display:flex; gap:4px; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; flex-shrink:0; padding:0 0 var(--space-sm); }
  71. .kb-tabs::-webkit-scrollbar { display:none; }
  72. .kb-tab { flex-shrink:0; padding:0.45em 1em; font-size:0.9375rem; font-weight:700; border:2px solid var(--color-border-light); border-radius:var(--radius-full); background:#fff; color:var(--color-text-secondary); cursor:pointer; transition:all var(--transition-fast); font-family:inherit; line-height:1.3; }
  73. .kb-tab:hover { border-color:var(--tab-color,var(--color-primary)); color:var(--tab-color); }
  74. .kb-tab.active { border-color:var(--tab-color,var(--color-primary)); background:color-mix(in srgb, var(--tab-color,var(--color-primary)) 10%, white); color:var(--tab-color,var(--color-primary)); }
  75. .kb-articles { flex:1; overflow-y:auto; -webkit-overflow-scrolling:touch; padding-bottom:var(--space-sm); }
  76. .kb-a-item { display:flex; align-items:center; gap:var(--space-sm); padding:var(--space-sm) var(--space-md); background:#fff; border-radius:var(--radius-md); border:1px solid var(--color-border-light); text-decoration:none; color:var(--color-text-primary); margin-bottom:var(--space-sm); transition:box-shadow var(--transition-fast), border-color var(--transition-fast); }
  77. .kb-a-item:last-child { margin-bottom:0; }
  78. .kb-a-item:active { box-shadow:var(--shadow-sm); border-color:var(--color-primary); }
  79. .kb-a-item .ai-icon { font-size:1.3rem; flex-shrink:0; }
  80. .kb-a-item .ai-info { flex:1; min-width:0; }
  81. .kb-a-item .ai-info h4 { font-size:0.9375rem; font-weight:700; margin-bottom:0.15em; line-height:1.3; }
  82. .kb-a-item .ai-info p { font-size:0.8125rem; color:var(--color-text-muted); line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  83. .kb-a-coming { opacity:0.55; pointer-events:none; }
  84. }
  85. @media (max-width:480px) {
  86. .kb-header h1 { font-size:1.3rem; }
  87. .kb-main { padding:0 var(--space-md); }
  88. .kb-tab { padding:0.35em 0.8em; font-size:0.875rem; }
  89. }
  90. .scroll-indicator { display:none; }
  91. </style>
  92. </head>
  93. <body class="kb-page">
  94. <header class="site-header" id="header">
  95. <div class="container header-inner">
  96. <a href="index.html" class="logo">
  97. <img src="logo.png" alt="浠艾福" class="logo-img" width="36" height="36">
  98. <span class="logo-text">浠艾福</span>
  99. <span class="logo-tag">主动健康</span>
  100. </a>
  101. <button class="nav-toggle" id="navToggle" aria-label="切换导航"><span></span><span></span><span></span></button>
  102. <nav class="nav" id="nav">
  103. <ul class="nav-list">
  104. <li><a href="index.html" class="nav-link">首页</a></li>
  105. <li><a href="knowledge.html" class="nav-link active">成长百科</a></li>
  106. </ul>
  107. </nav>
  108. </div>
  109. </header>
  110. <div class="kb-main">
  111. <div class="kb-header">
  112. <h1>成长百科</h1>
  113. <p>身 · 智 · 富 · 行 · 心 — 科学育儿,从了解自己开始</p>
  114. </div>
  115. <div class="kb-body-wrap" id="kbDesktop">
  116. <div class="kb-body-inner" id="kbBodyInner">
  117. <img src="img/human-body.png" alt="人体五维成长百科" class="kb-body-img" id="kbBodyImg">
  118. </div>
  119. </div>
  120. <div class="kb-mobile" id="kbMobile">
  121. <div class="kb-tabs" id="kbTabs"></div>
  122. <div class="kb-articles" id="kbArticles"></div>
  123. </div>
  124. <div class="kb-footer">
  125. <a href="index.html">返回首页</a> &nbsp;·&nbsp; &copy; 2026 浠艾福主动健康研究院
  126. </div>
  127. </div>
  128. <script>
  129. var DIMS = [
  130. { key:'body', label:'身', color:'#FF8C42', subtitle:'根基永固 · 主动健康', bodyPart:'gut' },
  131. { key:'wisdom', label:'智', color:'#6366F1', subtitle:'赋能未来 · 智慧启迪', bodyPart:'brain' },
  132. { key:'wealth', label:'富', color:'#F59E0B', subtitle:'利他创富 · 价值创造', bodyPart:'hands' },
  133. { key:'action', label:'行', color:'#10B981', subtitle:'人际和谐 · 知行合一', bodyPart:'feet' },
  134. { key:'heart', label:'心', color:'#FF6B9D', subtitle:'大爱相随 · 情感滋养', bodyPart:'heart' }
  135. ];
  136. var ARTICLES = {
  137. body: [
  138. { icon:'🌿', title:'孩子过敏反复不好,根源可能在肠道', desc:'从肠道菌群-免疫-过敏三角关系出发,解析儿童过敏的深层原因。', url:'geo-faq-1-allergy.html' },
  139. { icon:'🛡️', title:'儿童免疫力提升3大关键步骤', desc:'从肠道微生态、营养支持与睡眠节律三个维度系统提升自护力。', url:'geo-faq-3-immunity.html' },
  140. { icon:'🌊', title:'微塑料对家庭健康的隐形危害', desc:'揭秘微塑料如何影响肠道菌群与激素系统及家庭防护策略。', url:'plastic-health.html' },
  141. { icon:'🍎', title:'精准营养:每个家庭的健康基石', desc:'基于个体代谢特征定制真正适合家人的膳食方案。', coming:true }
  142. ],
  143. wisdom: [
  144. { icon:'🧠', title:'注意力不集中,先查肠道再谈训练', desc:'肠道菌群通过肠-脑轴影响注意力与认知功能,科学认知从根源入手。', url:'geo-faq-2-attention.html' },
  145. { icon:'📖', title:'成长型思维:帮助孩子拥抱挑战', desc:'从心理学研究出发,培养孩子面对困难时不放弃的核心信念。', coming:true }
  146. ],
  147. wealth: [
  148. { icon:'💡', title:'从小培养孩子的财商思维', desc:'零花钱管理、目标储蓄与价值交换,让财商教育融入日常生活。', coming:true },
  149. { icon:'🌱', title:'家庭创客生态:利他中的财富', desc:'在利他分享中创造价值,探索适合家庭的第二收入曲线。', coming:true }
  150. ],
  151. action: [
  152. { icon:'🤝', title:'如何培养孩子的社交能力', desc:'从家庭互动到同伴交往,帮助孩子建立积极健康的人际关系。', coming:true },
  153. { icon:'🏕️', title:'亲子户外活动:在自然中成长', desc:'走出室内,用大自然的力量滋养孩子的身体与心灵。', coming:true }
  154. ],
  155. heart: [
  156. { icon:'💛', title:'亲子沟通:如何听懂孩子的心', desc:'从共情力到非暴力沟通,帮助家长走进孩子的内心世界。', coming:true },
  157. { icon:'🕊️', title:'儿童情绪管理:从认知到调节', desc:'理解各年龄段情绪发展规律,掌握实用的情绪疏导方法。', coming:true }
  158. ]
  159. };
  160. var MARKER_POS = {
  161. brain: { top:'11%', side:'left', offset:'55%' },
  162. heart: { top:'31%', side:'right', offset:'52%' },
  163. gut: { top:'46%', side:'left', offset:'53%' },
  164. hands: { top:'62%', side:'right', offset:'52%' },
  165. feet: { top:'81%', side:'left', offset:'53%' }
  166. };
  167. (function buildDesktop() {
  168. var c = document.getElementById('kbBodyInner');
  169. for (var i = 0; i < DIMS.length; i++) {
  170. var d = DIMS[i], pos = MARKER_POS[d.bodyPart], arts = ARTICLES[d.key] || [];
  171. var m = document.createElement('div');
  172. m.className = 'kb-marker';
  173. m.style.cssText = 'top:'+pos.top+';'+(pos.side==='left'?'left:'+pos.offset:'right:'+pos.offset);
  174. var side = pos.side==='left' ? 'kb-marker--right' : 'kb-marker--left';
  175. var card = document.createElement('div');
  176. card.className = 'kb-marker-card '+side;
  177. card.style.setProperty('--m-color', d.color);
  178. var hd = document.createElement('div');
  179. hd.className = 'kb-marker-head';
  180. hd.innerHTML = '<span class="kb-marker-label">'+d.label+' · '+d.subtitle+'</span>';
  181. card.appendChild(hd);
  182. for (var j = 0; j < arts.length; j++) {
  183. var a = arts[j], el;
  184. if (a.coming) {
  185. el = document.createElement('div');
  186. el.className = 'ma-coming';
  187. el.innerHTML = '<span class="ma-icon">'+a.icon+'</span><span class="ma-title">'+a.title+' 即将上线</span>';
  188. } else {
  189. el = document.createElement('a');
  190. el.href = a.url;
  191. el.innerHTML = '<span class="ma-icon">'+a.icon+'</span><span class="ma-title">'+a.title+'</span><span class="ma-arrow">→</span>';
  192. }
  193. card.appendChild(el);
  194. }
  195. var dot = document.createElement('div');
  196. dot.className = 'kb-marker-dot';
  197. dot.style.background = d.color;
  198. card.appendChild(dot);
  199. m.appendChild(card);
  200. c.appendChild(m);
  201. }
  202. })();
  203. var activeDim = 'body';
  204. function buildTabs() {
  205. var c = document.getElementById('kbTabs'), h = '';
  206. for (var i = 0; i < DIMS.length; i++) {
  207. var d = DIMS[i];
  208. h += '<button class="kb-tab'+(d.key===activeDim?' active':'')+'" style="--tab-color:'+d.color+'" data-dim="'+d.key+'" onclick="switchTab(\''+d.key+'\')">'+d.label+'</button>';
  209. }
  210. c.innerHTML = h;
  211. }
  212. function renderArticles(k) {
  213. var c = document.getElementById('kbArticles'), arts = ARTICLES[k] || [], h = '';
  214. for (var i = 0; i < arts.length; i++) {
  215. var a = arts[i];
  216. if (a.coming) {
  217. h += '<div class="kb-a-item kb-a-coming"><span class="ai-icon">'+a.icon+'</span><div class="ai-info"><h4>'+a.title+'</h4><p>'+a.desc+'</p></div></div>';
  218. } else {
  219. h += '<a href="'+a.url+'" class="kb-a-item"><span class="ai-icon">'+a.icon+'</span><div class="ai-info"><h4>'+a.title+'</h4><p>'+a.desc+'</p></div><span style="color:var(--color-text-muted);font-size:0.9rem">→</span></a>';
  220. }
  221. }
  222. c.innerHTML = h;
  223. }
  224. function switchTab(k) { activeDim=k; var t=document.querySelectorAll('#kbTabs .kb-tab'); for(var i=0;i<t.length;i++){t[i].classList.remove('active');if(t[i].getAttribute('data-dim')===k)t[i].classList.add('active');} renderArticles(k); }
  225. buildTabs(); renderArticles(activeDim);
  226. document.getElementById('navToggle').addEventListener('click',function(){document.getElementById('nav').classList.toggle('nav-open');this.classList.toggle('active');});
  227. </script>
  228. </body>
  229. </html>