123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176 |
- /* 动态头部样式 */
- .dynamic-header {
- --background: linear-gradient(to right, var(--ion-color-primary), var(--ion-color-secondary));
- --color: white;
- ion-toolbar {
- --background: transparent;
- }
- .greeting-title {
- padding-inline: 0;
- h1 {
- font-size: 1.2rem;
- font-weight: 600;
- margin: 0;
- }
- ion-note {
- font-size: 0.7rem;
- opacity: 0.8;
- }
- }
- .weather-bar {
- --background: rgba(255, 255, 255, 0.1);
- backdrop-filter: blur(10px);
- ion-segment {
- --background: transparent;
- ion-segment-button {
- --color: rgba(255, 255, 255, 0.7);
- --color-checked: white;
- --indicator-color: transparent;
- ion-icon {
- font-size: 1.2rem;
- }
- }
- }
- }
- }
- /* 推荐计划滑块 */
- .recommendation-slider {
- margin: 16px 0;
- swiper-slide {
- transition: transform 0.3s ease;
- &.highlight {
- transform: scale(1.05);
- }
- }
- .program-card {
- border-radius: 16px;
- overflow: hidden;
- position: relative;
- height: 280px;
- img {
- object-fit: cover;
- height: 120px;
- width: 100%;
- }
- .program-badge {
- position: absolute;
- top: 10px;
- right: 10px;
- background: var(--ion-color-danger);
- color: white;
- padding: 4px 8px;
- border-radius: 12px;
- font-size: 12px;
- z-index: 2;
- }
- ion-progress-bar {
- margin: 8px 0;
- }
- }
- }
- /* 健康数据看板 */
- .dashboard-card {
- border-radius: 12px;
- box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
- ion-card-header {
- padding-bottom: 0;
- }
- }
- /* 快捷操作按钮 */
- .quick-actions {
- padding: 0;
- margin: 20px 0;
- ion-button {
- --border-width: 1px;
- --padding-top: 12px;
- --padding-bottom: 12px;
- height: 100%;
- ion-icon {
- font-size: 1.2rem;
- }
- }
- }
- /* 社区动态 */
- .community-feed {
- background: transparent;
- ion-item {
- --border-radius: 12px;
- --padding-start: 8px;
- margin-bottom: 8px;
- --background: var(--ion-item-background, var(--ion-background-color, #fff));
- box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
- ion-avatar {
- width: 40px;
- height: 40px;
- }
- }
- }
- /* 底部导航 */
- ion-footer {
- ion-toolbar {
- --background: var(--ion-color-light);
- --padding-top: 4px;
- --padding-bottom: 4px;
- .coach-avatar {
- position: relative;
- width: 36px;
- height: 36px;
- img {
- border-radius: 50%;
- width: 100%;
- height: 100%;
- object-fit: cover;
- }
- ion-badge {
- position: absolute;
- top: -2px;
- right: -2px;
- width: 8px;
- height: 8px;
- border-radius: 50%;
- &.pulse {
- animation: pulse 1.5s infinite;
- }
- }
- }
- ion-title {
- font-size: 0.9rem;
- font-weight: 500;
- }
- }
- }
- @keyframes pulse {
- 0% { transform: scale(0.95); opacity: 1; }
- 50% { transform: scale(1.1); opacity: 0.7; }
- 100% { transform: scale(0.95); opacity: 1; }
- }
|