BMI HEALTHY OR NOT

BMI 計算器 :root { –background-color: #ffffff; –text-color: #333333; –card-background: #f9f9f9; –border-color: #dddddd; –primary-color: #5D5CDE; –primary-hover: #4b4ab2; –success-color: #28a745; –warning-color: #ffc107; –danger-color: #dc3545; –info-color: #17a2b8; –gray-color: #6c757d; } @media (prefers-color-scheme: dark) { :root { –background-color: #121212; –text-color: #e0e0e0; –card-background: #1e1e1e; –border-color: #444444; –gray-color: #999999; } } * { box-sizing: border-box; margin: 0; padding: 0; } body { font-family: -apple-system, BlinkMacSystemFont, “Segoe UI", Roboto, “Helvetica Neue", Arial, sans-serif; background-color: var(–background-color); color: var(–text-color); line-height: 1.6; padding: 20px; display: flex; flex-direction: column; align-items: center; min-height: 100vh; } .container { max-width: 500px; width: 100%; background-color: var(–card-background); border-radius: 8px; padding: 20px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); margin-bottom: 20px; } h1 { color: var(–primary-color); text-align: center; margin-bottom: 20px; } .form-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: 500; } input { width: 100%; padding: 10px; border: 1px solid var(–border-color); border-radius: 4px; background-color: var(–background-color); color: var(–text-color); font-size: 16px; } button { width: 100%; padding: 12px; background-color: var(–primary-color); color: white; border: none; border-radius: 4px; font-size: 16px; font-weight: 500; cursor: pointer; transition: background-color 0.3s; } button:hover { background-color: var(–primary-hover); } #result { display: none; margin-top: 20px; padding-top: 15px; border-top: 1px solid var(–border-color); } .result-container { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 15px; } .result-box { flex: 1; min-width: 140px; background-color: rgba(0, 0, 0, 0.05); padding: 15px; border-radius: 4px; } .result-label { color: var(–gray-color); font-size: 14px; margin-bottom: 5px; } .result-value { font-size: 18px; font-weight: bold; } .explanation { font-size: 14px; line-height: 1.5; margin-top: 15px; } .footer { text-align: center; font-size: 13px; color: var(–gray-color); margin-top: 10px; } @media (max-width: 480px) { .container { padding: 15px; } .result-box { min-width: 100%; } }

BMI 體重計算器

體重 (公斤)
身高 (厘米)
計算 BMI

計算結果

您的 BMI
體重狀態
document.getElementById(‘bmiForm’).addEventListener(‘submit’, function(e) { e.preventDefault(); // 獲取輸入值 const weight = parseFloat(document.getElementById(‘weight’).value); const heightCm = parseFloat(document.getElementById(‘height’).value); // 檢查輸入是否有效 if (isNaN(weight) || isNaN(heightCm) || weight <= 0 || heightCm <= 0) { alert('請輸入有效的體重和身高數值'); return; } // 厘米轉換為米 const heightM = heightCm / 100; // 計算 BMI const bmi = weight / (heightM * heightM); // 顯示 BMI 值(保留兩位小數) document.getElementById('bmiValue').textContent = bmi.toFixed(2); // 判斷 BMI 類別 let category, explanation, categoryColor; if (bmi < 18.5) { category = "過輕"; explanation = "您的 BMI 低於正常範圍。過輕可能影響健康,建議諮詢醫生獲取健康飲食和增重建議。"; categoryColor = "#17a2b8"; // info color } else if (bmi < 24) { category = "正常"; explanation = "恭喜!您的 BMI 在正常範圍內。繼續保持健康的飲食和適當的運動習慣。"; categoryColor = "#28a745"; // success color } else if (bmi < 27) { category = "過重"; explanation = "您的 BMI 略高於正常範圍。建議增加運動量並注意飲食控制。"; categoryColor = "#ffc107"; // warning color } else if (bmi < 30) { category = "輕度肥胖"; explanation = "您的 BMI 顯示為輕度肥胖。建議諮詢醫生獲取體重管理計劃。"; categoryColor = "#fd7e14"; // orange color } else if (bmi < 35) { category = "中度肥胖"; explanation = "您的 BMI 顯示為中度肥胖。請考慮諮詢醫療專業人士制定減重計劃。"; categoryColor = "#dc3545"; // danger color } else { category = "重度肥胖"; explanation = "您的 BMI 顯示為重度肥胖。強烈建議尋求醫療專業人士的幫助。"; categoryColor = "#c82333"; // darker red } // 顯示 BMI 類別 const categoryElement = document.getElementById('bmiCategory'); categoryElement.textContent = category; categoryElement.style.color = categoryColor; // 顯示說明 document.getElementById('bmiExplanation').textContent = explanation; // 顯示結果區域 document.getElementById('result').style.display = "block"; }); // 檢測系統主題設置 function detectColorScheme() { if (window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { document.body.classList.add('dark-mode'); } else { document.body.classList.remove('dark-mode'); } } // 初始檢測 detectColorScheme(); // 監聽系統主題變化 if (window.matchMedia) { window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', detectColorScheme); }