pet/html/layout05-tab-switch.html

853 lines
29 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>方案5标签切换式</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
max-width: 375px;
margin: 0 auto;
}
.header {
background: rgba(255,255,255,0.1);
backdrop-filter: blur(20px);
padding: 20px;
display: flex;
justify-content: space-between;
align-items: center;
color: white;
}
.header-info h1 {
font-size: 20px;
margin-bottom: 4px;
}
.header-info p {
font-size: 14px;
opacity: 0.8;
}
.header-actions {
display: flex;
gap: 10px;
}
.header-btn {
width: 36px;
height: 36px;
border-radius: 18px;
border: none;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
background: rgba(255,255,255,0.2);
color: white;
}
.tabs-container {
background: rgba(255,255,255,0.95);
margin: 15px;
border-radius: 20px;
backdrop-filter: blur(20px);
overflow: hidden;
}
.tabs-header {
display: flex;
background: #F8F9FA;
padding: 5px;
border-radius: 20px 20px 0 0;
position: relative;
}
.tab-btn {
flex: 1;
background: none;
border: none;
padding: 12px 8px;
text-align: center;
cursor: pointer;
border-radius: 15px;
transition: all 0.3s ease;
position: relative;
z-index: 2;
}
.tab-btn.active {
background: white;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}
.tab-avatar {
width: 24px;
height: 24px;
border-radius: 12px;
background: linear-gradient(135deg, #FFE0B2, #FFCC80);
display: flex;
align-items: center;
justify-content: center;
font-size: 14px;
margin: 0 auto 4px;
}
.tab-name {
font-size: 12px;
font-weight: bold;
color: #333;
}
.add-tab {
width: 60px;
background: none;
border: none;
padding: 12px 8px;
text-align: center;
cursor: pointer;
border-radius: 15px;
transition: all 0.3s ease;
color: #667eea;
}
.add-tab:hover {
background: rgba(102,126,234,0.1);
}
.tab-content {
padding: 25px;
}
.pet-detail-card {
text-align: center;
margin-bottom: 25px;
}
.pet-main-avatar {
width: 80px;
height: 80px;
border-radius: 40px;
background: linear-gradient(135deg, #FFE0B2, #FFCC80);
display: flex;
align-items: center;
justify-content: center;
font-size: 40px;
margin: 0 auto 15px;
position: relative;
box-shadow: 0 8px 25px rgba(0,0,0,0.15);
}
.pet-status-ring {
position: absolute;
top: -4px;
left: -4px;
right: -4px;
bottom: -4px;
border: 3px solid #4CAF50;
border-radius: 50%;
border-top-color: transparent;
animation: spin 3s linear infinite;
}
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
.pet-main-name {
font-size: 22px;
font-weight: bold;
color: #333;
margin-bottom: 8px;
}
.pet-main-details {
font-size: 14px;
color: #666;
margin-bottom: 15px;
}
.pet-main-tags {
display: flex;
justify-content: center;
gap: 8px;
margin-bottom: 20px;
}
.main-tag {
background: #E8F5E8;
color: #4CAF50;
padding: 6px 12px;
border-radius: 12px;
font-size: 12px;
font-weight: bold;
}
.pet-stats-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 15px;
margin-bottom: 25px;
}
.stat-card {
background: #F8F9FA;
padding: 15px 10px;
border-radius: 15px;
text-align: center;
}
.stat-icon {
font-size: 20px;
margin-bottom: 8px;
display: block;
}
.stat-value {
font-size: 18px;
font-weight: bold;
color: #333;
margin-bottom: 4px;
}
.stat-label {
font-size: 11px;
color: #999;
}
.pet-actions-panel {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 12px;
margin-bottom: 25px;
}
.action-card {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
border: none;
padding: 15px;
border-radius: 15px;
text-align: center;
cursor: pointer;
transition: transform 0.2s;
}
.action-card:hover {
transform: translateY(-2px);
}
.action-icon {
font-size: 20px;
margin-bottom: 8px;
display: block;
}
.action-text {
font-size: 14px;
font-weight: bold;
}
.pet-timeline {
background: #F8F9FA;
border-radius: 15px;
padding: 20px;
margin-bottom: 25px;
}
.timeline-title {
font-size: 16px;
font-weight: bold;
color: #333;
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 8px;
}
.timeline-item {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 0;
border-bottom: 1px solid #E9ECEF;
}
.timeline-item:last-child {
border-bottom: none;
}
.timeline-dot {
width: 8px;
height: 8px;
border-radius: 4px;
background: #667eea;
flex-shrink: 0;
}
.timeline-content {
flex: 1;
}
.timeline-text {
font-size: 13px;
color: #333;
margin-bottom: 2px;
}
.timeline-time {
font-size: 11px;
color: #999;
}
.timeline-type {
background: #E3F2FD;
color: #2196F3;
padding: 2px 6px;
border-radius: 8px;
font-size: 9px;
}
.pet-health-panel {
background: linear-gradient(135deg, #FF6B6B, #4ECDC4);
color: white;
border-radius: 15px;
padding: 20px;
margin-bottom: 25px;
}
.health-title {
font-size: 16px;
font-weight: bold;
margin-bottom: 15px;
display: flex;
align-items: center;
gap: 8px;
}
.health-indicators {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
}
.health-indicator {
background: rgba(255,255,255,0.2);
border-radius: 12px;
padding: 12px;
text-align: center;
}
.health-value {
font-size: 16px;
font-weight: bold;
margin-bottom: 4px;
}
.health-label {
font-size: 11px;
opacity: 0.9;
}
.summary-section {
background: rgba(255,255,255,0.95);
margin: 15px;
border-radius: 20px;
padding: 20px;
backdrop-filter: blur(20px);
}
.summary-title {
font-size: 18px;
font-weight: bold;
color: #333;
margin-bottom: 15px;
text-align: center;
}
.summary-stats {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 15px;
margin-bottom: 20px;
}
.summary-card {
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
padding: 15px;
border-radius: 15px;
text-align: center;
}
.summary-number {
font-size: 20px;
font-weight: bold;
margin-bottom: 4px;
}
.summary-label {
font-size: 12px;
opacity: 0.9;
}
.quick-actions {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px;
}
.quick-btn {
background: #F8F9FA;
border: none;
border-radius: 12px;
padding: 12px 8px;
text-align: center;
cursor: pointer;
transition: transform 0.2s;
}
.quick-btn:hover {
transform: translateY(-2px);
}
.quick-icon {
font-size: 16px;
margin-bottom: 4px;
display: block;
}
.quick-text {
font-size: 10px;
color: #666;
font-weight: bold;
}
.floating-add {
position: fixed;
bottom: 30px;
right: 20px;
width: 56px;
height: 56px;
border-radius: 28px;
background: linear-gradient(135deg, #667eea, #764ba2);
color: white;
border: none;
font-size: 24px;
cursor: pointer;
box-shadow: 0 4px 20px rgba(102,126,234,0.4);
transition: transform 0.3s;
}
.floating-add:hover {
transform: scale(1.1);
}
.tab-content-panel {
display: none;
}
.tab-content-panel.active {
display: block;
}
</style>
</head>
<body>
<div class="header">
<div class="header-info">
<h1>🏷️ 宠物标签</h1>
<p>快速切换宠物详情</p>
</div>
<div class="header-actions">
<button class="header-btn">👨‍👩‍👧‍👦</button>
<button class="header-btn">⚙️</button>
</div>
</div>
<div class="tabs-container">
<div class="tabs-header">
<button class="tab-btn active" onclick="switchTab(0)">
<div class="tab-avatar">🐱</div>
<div class="tab-name">小橘</div>
</button>
<button class="tab-btn" onclick="switchTab(1)">
<div class="tab-avatar">🐶</div>
<div class="tab-name">小白</div>
</button>
<button class="tab-btn" onclick="switchTab(2)">
<div class="tab-avatar">🐰</div>
<div class="tab-name">小灰</div>
</button>
<button class="add-tab">
<div style="font-size: 20px; margin-bottom: 4px;"></div>
<div style="font-size: 10px;">添加</div>
</button>
</div>
<div class="tab-content">
<!-- 小橘的内容 -->
<div class="tab-content-panel active" id="tab-0">
<div class="pet-detail-card">
<div class="pet-main-avatar">
🐱
<div class="pet-status-ring"></div>
</div>
<div class="pet-main-name">小橘</div>
<div class="pet-main-details">橘猫 · 2岁 · 陪伴365天</div>
<div class="pet-main-tags">
<span class="main-tag">活泼</span>
<span class="main-tag">粘人</span>
<span class="main-tag">健康</span>
</div>
</div>
<div class="pet-stats-grid">
<div class="stat-card">
<span class="stat-icon">⚖️</span>
<div class="stat-value">4.5kg</div>
<div class="stat-label">当前体重</div>
</div>
<div class="stat-card">
<span class="stat-icon">📝</span>
<div class="stat-value">89</div>
<div class="stat-label">记录数量</div>
</div>
<div class="stat-card">
<span class="stat-icon">💰</span>
<div class="stat-value">¥580</div>
<div class="stat-label">本月消费</div>
</div>
</div>
<div class="pet-actions-panel">
<button class="action-card">
<span class="action-icon">📝</span>
<div class="action-text">添加记录</div>
</button>
<button class="action-card">
<span class="action-icon">💬</span>
<div class="action-text">AI聊天</div>
</button>
<button class="action-card">
<span class="action-icon">📊</span>
<div class="action-text">数据分析</div>
</button>
<button class="action-card">
<span class="action-icon">📸</span>
<div class="action-text">拍照记录</div>
</button>
</div>
<div class="pet-timeline">
<div class="timeline-title">⏰ 最近活动</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">完成了今天的早餐</div>
<div class="timeline-time">2小时前</div>
</div>
<div class="timeline-type">饮食</div>
</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">和主人玩了15分钟</div>
<div class="timeline-time">4小时前</div>
</div>
<div class="timeline-type">互动</div>
</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">午睡了2小时</div>
<div class="timeline-time">6小时前</div>
</div>
<div class="timeline-type">休息</div>
</div>
</div>
<div class="pet-health-panel">
<div class="health-title">❤️ 健康状态</div>
<div class="health-indicators">
<div class="health-indicator">
<div class="health-value">优秀</div>
<div class="health-label">整体健康</div>
</div>
<div class="health-indicator">
<div class="health-value">正常</div>
<div class="health-label">活动水平</div>
</div>
<div class="health-indicator">
<div class="health-value">良好</div>
<div class="health-label">食欲状态</div>
</div>
<div class="health-indicator">
<div class="health-value">稳定</div>
<div class="health-label">情绪状态</div>
</div>
</div>
</div>
</div>
<!-- 小白的内容 -->
<div class="tab-content-panel" id="tab-1">
<div class="pet-detail-card">
<div class="pet-main-avatar">
🐶
<div class="pet-status-ring"></div>
</div>
<div class="pet-main-name">小白</div>
<div class="pet-main-details">金毛 · 3岁 · 陪伴1095天</div>
<div class="pet-main-tags">
<span class="main-tag">温顺</span>
<span class="main-tag">忠诚</span>
<span class="main-tag">健康</span>
</div>
</div>
<div class="pet-stats-grid">
<div class="stat-card">
<span class="stat-icon">⚖️</span>
<div class="stat-value">25kg</div>
<div class="stat-label">当前体重</div>
</div>
<div class="stat-card">
<span class="stat-icon">📝</span>
<div class="stat-value">67</div>
<div class="stat-label">记录数量</div>
</div>
<div class="stat-card">
<span class="stat-icon">💰</span>
<div class="stat-value">¥890</div>
<div class="stat-label">本月消费</div>
</div>
</div>
<div class="pet-actions-panel">
<button class="action-card">
<span class="action-icon">📝</span>
<div class="action-text">添加记录</div>
</button>
<button class="action-card">
<span class="action-icon">💬</span>
<div class="action-text">AI聊天</div>
</button>
<button class="action-card">
<span class="action-icon">📊</span>
<div class="action-text">数据分析</div>
</button>
<button class="action-card">
<span class="action-icon">📸</span>
<div class="action-text">拍照记录</div>
</button>
</div>
<div class="pet-timeline">
<div class="timeline-title">⏰ 最近活动</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">外出散步30分钟</div>
<div class="timeline-time">1小时前</div>
</div>
<div class="timeline-type">运动</div>
</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">完成了午餐</div>
<div class="timeline-time">3小时前</div>
</div>
<div class="timeline-type">饮食</div>
</div>
</div>
<div class="pet-health-panel">
<div class="health-title">❤️ 健康状态</div>
<div class="health-indicators">
<div class="health-indicator">
<div class="health-value">优秀</div>
<div class="health-label">整体健康</div>
</div>
<div class="health-indicator">
<div class="health-value">活跃</div>
<div class="health-label">活动水平</div>
</div>
<div class="health-indicator">
<div class="health-value">良好</div>
<div class="health-label">食欲状态</div>
</div>
<div class="health-indicator">
<div class="health-value">愉快</div>
<div class="health-label">情绪状态</div>
</div>
</div>
</div>
</div>
<!-- 小灰的内容 -->
<div class="tab-content-panel" id="tab-2">
<div class="pet-detail-card">
<div class="pet-main-avatar">
🐰
<div class="pet-status-ring"></div>
</div>
<div class="pet-main-name">小灰</div>
<div class="pet-main-details">垂耳兔 · 1岁 · 陪伴180天</div>
<div class="pet-main-tags">
<span class="main-tag">安静</span>
<span class="main-tag">可爱</span>
<span class="main-tag">健康</span>
</div>
</div>
<div class="pet-stats-grid">
<div class="stat-card">
<span class="stat-icon">⚖️</span>
<div class="stat-value">1.2kg</div>
<div class="stat-label">当前体重</div>
</div>
<div class="stat-card">
<span class="stat-icon">📝</span>
<div class="stat-value">34</div>
<div class="stat-label">记录数量</div>
</div>
<div class="stat-card">
<span class="stat-icon">💰</span>
<div class="stat-value">¥120</div>
<div class="stat-label">本月消费</div>
</div>
</div>
<div class="pet-actions-panel">
<button class="action-card">
<span class="action-icon">📝</span>
<div class="action-text">添加记录</div>
</button>
<button class="action-card">
<span class="action-icon">💬</span>
<div class="action-text">AI聊天</div>
</button>
<button class="action-card">
<span class="action-icon">📊</span>
<div class="action-text">数据分析</div>
</button>
<button class="action-card">
<span class="action-icon">📸</span>
<div class="action-text">拍照记录</div>
</button>
</div>
<div class="pet-timeline">
<div class="timeline-title">⏰ 最近活动</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">吃了新鲜胡萝卜</div>
<div class="timeline-time">1小时前</div>
</div>
<div class="timeline-type">饮食</div>
</div>
<div class="timeline-item">
<div class="timeline-dot"></div>
<div class="timeline-content">
<div class="timeline-text">在笼子里活动</div>
<div class="timeline-time">2小时前</div>
</div>
<div class="timeline-type">运动</div>
</div>
</div>
<div class="pet-health-panel">
<div class="health-title">❤️ 健康状态</div>
<div class="health-indicators">
<div class="health-indicator">
<div class="health-value">良好</div>
<div class="health-label">整体健康</div>
</div>
<div class="health-indicator">
<div class="health-value">正常</div>
<div class="health-label">活动水平</div>
</div>
<div class="health-indicator">
<div class="health-value">良好</div>
<div class="health-label">食欲状态</div>
</div>
<div class="health-indicator">
<div class="health-value">平静</div>
<div class="health-label">情绪状态</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="summary-section">
<div class="summary-title">📊 家庭概览</div>
<div class="summary-stats">
<div class="summary-card">
<div class="summary-number">190</div>
<div class="summary-label">总记录数</div>
</div>
<div class="summary-card">
<div class="summary-number">¥1,590</div>
<div class="summary-label">本月消费</div>
</div>
<div class="summary-card">
<div class="summary-number">3</div>
<div class="summary-label">家庭成员</div>
</div>
<div class="summary-card">
<div class="summary-number">5</div>
<div class="summary-label">待办提醒</div>
</div>
</div>
<div class="quick-actions">
<button class="quick-btn">
<span class="quick-icon">📝</span>
<span class="quick-text">快速记录</span>
</button>
<button class="quick-btn">
<span class="quick-icon">💰</span>
<span class="quick-text">记账</span>
</button>
<button class="quick-btn">
<span class="quick-icon">📸</span>
<span class="quick-text">拍照</span>
</button>
<button class="quick-btn">
<span class="quick-icon">🏥</span>
<span class="quick-text">领养</span>
</button>
</div>
</div>
<button class="floating-add">📝</button>
<script>
function switchTab(index) {
// 移除所有活动状态
document.querySelectorAll('.tab-btn').forEach(btn => btn.classList.remove('active'));
document.querySelectorAll('.tab-content-panel').forEach(panel => panel.classList.remove('active'));
// 激活选中的标签和内容
document.querySelectorAll('.tab-btn')[index].classList.add('active');
document.getElementById(`tab-${index}`).classList.add('active');
}
</script>
</body>
</html>