224 lines
7.0 KiB
CSS
224 lines
7.0 KiB
CSS
[v-cloak] { display: none; }
|
|
* { margin: 0; padding: 0; box-sizing: border-box; }
|
|
body { background: #f5f7f9; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif; min-height: 100vh; }
|
|
|
|
/* 头部区域 */
|
|
.header-section {
|
|
background: #fff !important;
|
|
border-radius: 0 !important;
|
|
position: sticky;
|
|
top: 0;
|
|
z-index: 100;
|
|
padding-top: 10px;
|
|
}
|
|
.header-section::before,
|
|
.header-section::after { display: none; }
|
|
|
|
/* 搜索栏 */
|
|
.header-search {
|
|
display: flex !important;
|
|
align-items: center !important;
|
|
gap: 8px !important;
|
|
background: #f5f5f5 !important;
|
|
border-radius: 6px !important;
|
|
padding: 10px 14px !important;
|
|
margin: 0 12px !important;
|
|
cursor: pointer;
|
|
}
|
|
.header-search span {
|
|
font-size: 14px !important;
|
|
color: #bbb !important;
|
|
}
|
|
|
|
/* 筛选标签栏 */
|
|
.filter-bar {
|
|
display: flex !important;
|
|
padding: 12px 14px;
|
|
gap: 8px;
|
|
}
|
|
.filter-tag {
|
|
flex: 1;
|
|
text-align: center;
|
|
font-size: 13px;
|
|
color: #666;
|
|
background: #f5f5f5;
|
|
border-radius: 16px;
|
|
padding: 7px 4px;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
cursor: pointer;
|
|
transition: all 0.2s;
|
|
}
|
|
.filter-tag.active {
|
|
background: #e8f4fd;
|
|
color: #1989fa;
|
|
font-weight: 500;
|
|
}
|
|
|
|
/* 筛选面板(内联展开) */
|
|
.filter-panel {
|
|
background: #fafafa;
|
|
border-top: 1px solid #eee;
|
|
padding: 12px 14px;
|
|
}
|
|
.filter-panel-list {
|
|
display: flex; flex-wrap: wrap; gap: 10px;
|
|
}
|
|
.filter-panel-item {
|
|
font-size: 13px; color: #555; background: #fff;
|
|
border-radius: 4px; padding: 6px 14px;
|
|
cursor: pointer; border: 1px solid #e0e0e0;
|
|
transition: all 0.15s;
|
|
}
|
|
.filter-panel-item.selected {
|
|
background: #1989fa; color: #fff; border-color: #1989fa;
|
|
}
|
|
|
|
/* 面板展开动画 */
|
|
.slide-enter-active { animation: slideDown 0.2s ease; }
|
|
.slide-leave-active { animation: slideUp 0.15s ease; }
|
|
@keyframes slideDown { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 200px; } }
|
|
@keyframes slideUp { from { opacity: 1; max-height: 200px; } to { opacity: 0; max-height: 0; } }
|
|
border-radius: 18px; padding: 8px 20px;
|
|
cursor: pointer; transition: all 0.2s;
|
|
}
|
|
.popup-item.selected { background: #1989fa; color: #fff; }
|
|
|
|
/* 统计信息条 */
|
|
.stats-bar {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 12px 20px;
|
|
background: linear-gradient(90deg, #eaf7fb 0%, #f0fafb 50%, #eaf7fb 100%);
|
|
gap: 24px;
|
|
}
|
|
.stats-item { display: flex; align-items: baseline; gap: 4px; }
|
|
.stats-num { font-size: 17px; font-weight: 700; color: #018fa5; }
|
|
.stats-label { font-size: 12px; color: #888; }
|
|
.stats-divider { width: 1px; height: 18px; background: #ddd; }
|
|
|
|
/* 护工列表 */
|
|
.nurse-list-wrapper { padding: 12px 14px; }
|
|
|
|
.nurse-card-wrap {
|
|
background: #fff; border-radius: 14px; margin-bottom: 10px;
|
|
box-shadow: 0 2px 10px rgba(1,143,165,0.06); overflow: hidden;
|
|
transition: all 0.22s ease; border: 1px solid rgba(1,143,165,0.05);
|
|
cursor: pointer;
|
|
}
|
|
.nurse-card-wrap:active {
|
|
transform: translateY(-1px); box-shadow: 0 4px 18px rgba(1,143,165,0.13);
|
|
}
|
|
|
|
/* 卡片主体 */
|
|
.nurse-card-main {
|
|
display: flex; align-items: center; padding: 14px; gap: 12px;
|
|
}
|
|
|
|
/* 头像区域 */
|
|
.nurse-avatar-box {
|
|
position: relative; flex-shrink: 0;
|
|
}
|
|
.nurse-avatar-inner {
|
|
width: 56px; height: 56px; border-radius: 14px;
|
|
background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%);
|
|
display: flex; align-items: center; justify-content: center;
|
|
}
|
|
.nurse-avatar-inner.avatar-online {
|
|
animation: pulse-ring 2s ease-out infinite;
|
|
}
|
|
.online-dot {
|
|
position: absolute; bottom: 1px; right: 1px;
|
|
width: 12px; height: 12px; border-radius: 50%;
|
|
background: #07c160; border: 2px solid #fff;
|
|
}
|
|
|
|
/* 详情信息区 */
|
|
.nurse-detail { flex: 1; min-width: 0; }
|
|
|
|
.nurse-name-row {
|
|
display: flex; align-items: center; gap: 6px; margin-bottom: 6px;
|
|
}
|
|
.nurse-name { font-size: 15px; font-weight: 700; color: #333; }
|
|
|
|
.nurse-meta-row {
|
|
display: flex; align-items: center; gap: 4px; margin-bottom: 8px;
|
|
flex-wrap: wrap;
|
|
}
|
|
.nurse-score { font-size: 13px; color: #e08c28; font-weight: 600; }
|
|
.nurse-sep { font-size: 11px; color: #ccc; margin: 0 2px; }
|
|
.nurse-exp-text,
|
|
.nurse-orders-text { font-size: 11px; color: #999; font-weight: 500; }
|
|
|
|
.nurse-skill-tags { display: flex; gap: 5px; flex-wrap: wrap; }
|
|
.nurse-skill-tags :deep(.van-tag) {
|
|
font-size: 10px !important; padding: 1px 7px !important;
|
|
border-radius: 4px !important; font-weight: 500;
|
|
}
|
|
.nurse-skill-tags :deep(.van-tag--primary) {
|
|
background: linear-gradient(135deg, #e6f5f8 0%, #d0ebe8 100%) !important;
|
|
color: #018fa5 !important; border-color: transparent !important;
|
|
}
|
|
|
|
/* 价格列 */
|
|
.nurse-price-col {
|
|
flex-shrink: 0; text-align: center;
|
|
min-width: 68px;
|
|
}
|
|
.nurse-price-row { display: flex; align-items: baseline; justify-content: center; }
|
|
.price-symbol { font-size: 12px; color: #dc3545; font-weight: 700; }
|
|
.price-num { font-size: 20px; color: #dc3545; font-weight: 800; line-height: 1; }
|
|
.price-unit { font-size: 10px; color: #dc3545; font-weight: 500; }
|
|
.book-btn {
|
|
margin-top: 6px; padding: 0 12px !important; font-size: 12px !important;
|
|
background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%) !important;
|
|
border-color: transparent !important;
|
|
}
|
|
|
|
/* 认证行 */
|
|
.nurse-cert-row {
|
|
display: flex; align-items: center; gap: 6px;
|
|
padding: 8px 14px; border-top: 1px solid #f3f3f3;
|
|
background: #fafcfc;
|
|
}
|
|
.cert-text { font-size: 11px; color: #666; }
|
|
|
|
/* 搜索弹窗 */
|
|
:deep(.van-popup--top) { border-radius: 0 0 16px 16px; overflow: hidden; }
|
|
:deep(.van-search__content) {
|
|
background: #f5f7f9 !important;
|
|
border-radius: 10px !important;
|
|
}
|
|
|
|
/* 底部安全距离 */
|
|
.bottom-safe { height: 72px; }
|
|
|
|
/* 动画效果 */
|
|
@keyframes fadeInUp {
|
|
from { opacity: 0; transform: translateY(12px); }
|
|
to { opacity: 1; transform: translateY(0); }
|
|
}
|
|
@keyframes pulse-ring {
|
|
0% { box-shadow: 0 0 0 0 rgba(7,193,96,0.35); }
|
|
70% { box-shadow: 0 0 0 6px rgba(7,193,96,0); }
|
|
100% { box-shadow: 0 0 0 0 rgba(7,193,96,0); }
|
|
}
|
|
.nurse-card-wrap:nth-child(1) { animation: fadeInUp 0.32s ease-out 0.02s both; }
|
|
.nurse-card-wrap:nth-child(2) { animation: fadeInUp 0.32s ease-out 0.06s both; }
|
|
.nurse-card-wrap:nth-child(3) { animation: fadeInUp 0.32s ease-out 0.1s both; }
|
|
.nurse-card-wrap:nth-child(4) { animation: fadeInUp 0.32s ease-out 0.14s both; }
|
|
.nurse-card-wrap:nth-child(5) { animation: fadeInUp 0.32s ease-out 0.18s both; }
|
|
.nurse-card-wrap:nth-child(n+6) { animation: fadeInUp 0.32s ease-out 0.22s both; }
|
|
|
|
/* 下拉刷新 */
|
|
:deep(.van-pull-refresh-head) { color: #018fa5; }
|
|
:deep(.van-list__finished-text) { color: #bbb; font-size: 12px; }
|
|
|
|
/* 底部导航 */
|
|
:root { --van-tabbar-z-index: 999; }
|
|
.van-tabbar { z-index: 999 !important; }
|
|
:deep(.van-tabbar) { box-shadow: 0 -2px 14px rgba(0,0,0,0.05); z-index: 999 !important; }
|
|
:deep(.van-tabbar-item--active) { color: #018fa5 !important; }
|