与牧同行-兽医端小程序
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

284 lines
5.4 KiB

.carousel-detail-container {
min-height: 100vh;
background-color: var(--bg-color, #F8F9FA);
position: relative;
padding-bottom: 40rpx;
}
/* 沉浸式头部 */
.hero-section {
position: relative;
width: 100%;
height: 600rpx;
overflow: hidden;
}
.hero-image {
width: 100%;
height: 100%;
filter: brightness(0.9);
transition: transform 0.3s ease;
}
.hero-image:active {
transform: scale(1.02);
}
.hero-overlay {
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 200rpx;
pointer-events: none;
}
/* 毛玻璃返回按钮 */
.nav-back {
position: absolute;
top: 60rpx;
left: 30rpx;
width: 72rpx;
height: 72rpx;
border-radius: 36rpx;
display: flex;
align-items: center;
justify-content: center;
font-size: 40rpx;
color: #333;
z-index: 10;
}
.glass {
background: rgba(255, 255, 255, 0.25);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
border: 1rpx solid rgba(255, 255, 255, 0.3);
box-shadow: 0 4rpx 20rpx rgba(0, 0, 0, 0.1);
}
.page-title {
position: absolute;
top: 60rpx;
right: 30rpx;
padding: 16rpx 32rpx;
border-radius: 40rpx;
font-size: 26rpx;
color: #333;
font-weight: 500;
z-index: 10;
letter-spacing: 1rpx;
}
/* 主要内容卡片 */
.content-card {
margin: -100rpx 30rpx 0;
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(20px);
-webkit-backdrop-filter: blur(20px);
border-radius: 48rpx;
padding: 48rpx 32rpx;
box-shadow: 0 30rpx 60rpx rgba(0, 0, 0, 0.1),
0 10rpx 30rpx rgba(0, 0, 0, 0.05);
position: relative;
z-index: 5;
border: 1rpx solid rgba(255, 255, 255, 0.5);
opacity: 0;
transform: translateY(50rpx);
animation: cardFloat 0.6s ease-out forwards;
}
@keyframes cardFloat {
to {
opacity: 1;
transform: translateY(0);
}
}
/* 标题区域 */
.title-section {
margin-bottom: 40rpx;
}
.main-title {
display: block;
font-size: 56rpx;
font-weight: 700;
line-height: 1.3;
margin-bottom: 16rpx;
letter-spacing: -0.5rpx;
}
.sub-title {
display: block;
font-size: 30rpx;
color: #666;
line-height: 1.5;
font-weight: 400;
opacity: 0.8;
}
/* 装饰分割线 */
.divider {
display: flex;
align-items: center;
margin: 30rpx 0 40rpx;
}
.divider-line {
flex: 1;
height: 2rpx;
opacity: 0.2;
}
.divider-dot {
width: 8rpx;
height: 8rpx;
border-radius: 4rpx;
margin: 0 20rpx;
opacity: 0.5;
}
/* 信息网格 */
.info-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 24rpx;
margin-bottom: 40rpx;
}
.info-item {
background: rgba(0, 0, 0, 0.02);
border-radius: 28rpx;
padding: 28rpx 20rpx;
display: flex;
align-items: center;
border: 1rpx solid rgba(0, 0, 0, 0.03);
transition: all 0.3s ease;
}
.info-item:active {
transform: scale(0.98);
background: rgba(0, 0, 0, 0.04);
}
.info-icon {
font-size: 48rpx;
margin-right: 20rpx;
filter: drop-shadow(0 4rpx 8rpx rgba(0, 0, 0, 0.1));
}
.info-content {
flex: 1;
display: flex;
flex-direction: column;
}
.info-label {
font-size: 22rpx;
color: #999;
margin-bottom: 8rpx;
letter-spacing: 0.5rpx;
}
.info-value {
font-size: 28rpx;
font-weight: 600;
color: #333;
word-break: break-all;
}
/* 状态特殊样式 */
.status-item .info-content {
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.status-badge {
display: flex;
align-items: center;
padding: 8rpx 16rpx;
border-radius: 40rpx;
border-width: 1rpx;
border-style: solid;
background-color: rgba(76, 175, 80, 0.1);
}
.status-dot {
width: 16rpx;
height: 16rpx;
border-radius: 8rpx;
margin-right: 8rpx;
animation: pulse 2s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; }
}
.status-text {
font-size: 24rpx;
font-weight: 500;
}
/* 备注区域 */
.remark-section {
background: rgba(0, 0, 0, 0.02);
border-radius: 28rpx;
padding: 28rpx;
margin-bottom: 40rpx;
display: flex;
border-left: 8rpx solid var(--text-color, #2E7D32);
}
.remark-icon {
font-size: 40rpx;
margin-right: 20rpx;
}
.remark-content {
flex: 1;
font-size: 28rpx;
color: #444;
line-height: 1.6;
}
/* 始终有效标识 */
.always-valid {
display: flex;
align-items: center;
justify-content: center;
margin-top: 30rpx;
padding: 20rpx;
background: linear-gradient(135deg, rgba(255, 215, 0, 0.1), rgba(255, 215, 0, 0.05));
border-radius: 40rpx;
border: 1rpx solid rgba(255, 215, 0, 0.3);
}
.valid-icon {
font-size: 32rpx;
margin-right: 12rpx;
animation: starTwinkle 1.5s infinite;
}
@keyframes starTwinkle {
0%, 100% { opacity: 1; transform: scale(1); }
50% { opacity: 0.7; transform: scale(1.1); }
}
.valid-text {
font-size: 26rpx;
color: #B8860B;
font-weight: 500;
}
/* 响应式调整 */
@media (min-width: 768px) {
.content-card {
max-width: 700rpx;
margin: -100rpx auto 0;
}
}