9.20界面
This commit is contained in:
@@ -1,185 +1,293 @@
|
||||
|
||||
/**
|
||||
* 这里是uni-app内置的常用样式变量
|
||||
*
|
||||
* uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
|
||||
* 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
|
||||
*
|
||||
* 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
|
||||
*/
|
||||
/* 颜色变量 */
|
||||
/* 行为相关颜色 */
|
||||
/* 藏青系主色(高亮) */
|
||||
/* 文字基本颜色 */
|
||||
/* 背景颜色 */
|
||||
/* 边框颜色 */
|
||||
/* 尺寸变量 */
|
||||
/* 文字尺寸 */
|
||||
/* 图片尺寸 */
|
||||
/* Border Radius */
|
||||
/* 水平间距 */
|
||||
/* 垂直间距 */
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.home {
|
||||
padding-bottom: 140rpx;
|
||||
position: relative;
|
||||
/* 明亮奢华背景:金属拉丝纹理覆盖层 + 柔和浅色渐变 */
|
||||
background:
|
||||
repeating-linear-gradient(0deg, rgba(180,180,180,0.12) 0rpx, rgba(180,180,180,0.12) 2rpx, rgba(255,255,255,0.0) 2rpx, rgba(255,255,255,0.0) 10rpx),
|
||||
linear-gradient(180deg, rgba(255, 255, 255, 0.75) 0%, rgba(255, 255, 255, 0.55) 40%, rgba(255, 255, 255, 0.35) 100%);
|
||||
min-height: 100vh;
|
||||
}
|
||||
.home-bg {
|
||||
position: fixed;
|
||||
left: 0; top: 0; right: 0; bottom: 0;
|
||||
width: 100%; height: 100%;
|
||||
pointer-events: none;
|
||||
z-index: -1;
|
||||
padding-bottom: 140rpx;
|
||||
position: relative;
|
||||
/* 纯白背景 */
|
||||
background: #ffffff;
|
||||
min-height: 100vh;
|
||||
}
|
||||
|
||||
/* 公告栏 */
|
||||
/* 公告栏 */
|
||||
.notice {
|
||||
margin: 0 24rpx 24rpx;
|
||||
padding: 20rpx 22rpx;
|
||||
border-radius: 20rpx;
|
||||
background: rgba(255,255,255,0.78);
|
||||
-webkit-backdrop-filter: blur(12rpx);
|
||||
backdrop-filter: blur(12rpx);
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.28);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
margin: 0 24rpx 24rpx;
|
||||
padding: 20rpx 22rpx;
|
||||
border-radius: 20rpx;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
}
|
||||
.notice-left {
|
||||
flex: 0 0 auto;
|
||||
display: inline-flex; align-items: center; justify-content: center;
|
||||
min-width: 96rpx; height: 44rpx;
|
||||
padding: 0 16rpx;
|
||||
border-radius: 999rpx;
|
||||
background: linear-gradient(135deg, #FFE69A, #F4CF62);
|
||||
color: #3f320f;
|
||||
font-size: 24rpx;
|
||||
font-weight: 800;
|
||||
flex: 0 0 auto;
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-width: 100rpx;
|
||||
height: 52rpx;
|
||||
padding: 0 16rpx;
|
||||
border-radius: 999rpx;
|
||||
background: #4C8DFF;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 800;
|
||||
}
|
||||
.notice-swiper { height: 72rpx; flex: 1;
|
||||
.notice-swiper {
|
||||
height: 72rpx;
|
||||
flex: 1;
|
||||
}
|
||||
.notice-item { display: flex; align-items: center; gap: 12rpx; min-height: 72rpx;
|
||||
.notice-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12rpx;
|
||||
min-height: 72rpx;
|
||||
}
|
||||
.notice-text { color: #4b3e19; font-size: 28rpx; line-height: 36rpx; font-weight: 600; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
|
||||
.notice-text {
|
||||
color: #111;
|
||||
font-size: 28rpx;
|
||||
line-height: 36rpx;
|
||||
font-weight: 600;
|
||||
display: -webkit-box;
|
||||
-webkit-line-clamp: 2;
|
||||
-webkit-box-orient: vertical;
|
||||
overflow: hidden;
|
||||
}
|
||||
.notice-tag { color: #B4880F; font-size: 22rpx; padding: 4rpx 10rpx; border-radius: 999rpx; background: rgba(215,167,46,0.18);
|
||||
.notice-tag {
|
||||
color: #4C8DFF;
|
||||
font-size: 22rpx;
|
||||
padding: 4rpx 10rpx;
|
||||
border-radius: 999rpx;
|
||||
background: rgba(76, 141, 255, 0.18);
|
||||
}
|
||||
|
||||
|
||||
/* 分割标题 */
|
||||
.section-title { display: flex; align-items: center; gap: 16rpx; padding: 10rpx 28rpx 0;
|
||||
/* 分割标题 */
|
||||
.section-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
padding: 10rpx 28rpx 0;
|
||||
}
|
||||
.section-title::before { content: ''; display: block; width: 8rpx; height: 28rpx; border-radius: 8rpx; background: linear-gradient(180deg, #FFE69A, #D7A72E);
|
||||
.section-title::before {
|
||||
content: "";
|
||||
display: block;
|
||||
width: 8rpx;
|
||||
height: 28rpx;
|
||||
border-radius: 8rpx;
|
||||
background: #4C8DFF;
|
||||
}
|
||||
.section-text { color: #6b5a2a; font-size: 28rpx; font-weight: 700; letter-spacing: 1rpx;
|
||||
.section-text {
|
||||
color: #111;
|
||||
font-size: 30rpx;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
|
||||
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
|
||||
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
|
||||
.hero {
|
||||
margin: 24rpx;
|
||||
padding: 32rpx;
|
||||
border-radius: 28rpx;
|
||||
background: rgba(255, 255, 255, 0.65);
|
||||
-webkit-backdrop-filter: blur(14rpx);
|
||||
backdrop-filter: blur(14rpx);
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.35);
|
||||
box-shadow: 0 12rpx 28rpx rgba(0, 0, 0, 0.10), 0 0 0 2rpx rgba(255,255,255,0.60) inset;
|
||||
color: #473c22;
|
||||
margin: 24rpx;
|
||||
padding: 32rpx;
|
||||
border-radius: 28rpx;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
box-shadow: none;
|
||||
color: #111;
|
||||
}
|
||||
.hero-top {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
.brand {
|
||||
font-size: 42rpx;
|
||||
font-weight: 700;
|
||||
letter-spacing: 2rpx;
|
||||
color: #B4880F; /* 金色标题 */
|
||||
font-size: 42rpx;
|
||||
font-weight: 700;
|
||||
letter-spacing: 2rpx;
|
||||
color: #4C8DFF;
|
||||
}
|
||||
.cta {
|
||||
padding: 10rpx 22rpx;
|
||||
border-radius: 999rpx;
|
||||
background: linear-gradient(135deg, rgba(255, 220, 128, 0.65), rgba(255, 240, 190, 0.65));
|
||||
border: 2rpx solid rgba(203, 166, 61, 0.45);
|
||||
box-shadow: 0 6rpx 14rpx rgba(203, 166, 61, 0.25);
|
||||
padding: 10rpx 22rpx;
|
||||
border-radius: 999rpx;
|
||||
background: #4C8DFF;
|
||||
border: 2rpx solid #4C8DFF;
|
||||
box-shadow: none;
|
||||
}
|
||||
.cta-text { color: #5a4712; font-size: 26rpx;
|
||||
.cta-text {
|
||||
color: #fff;
|
||||
font-size: 30rpx;
|
||||
font-weight: 700;
|
||||
letter-spacing: 1rpx;
|
||||
}
|
||||
.kpi { display: flex;
|
||||
.kpi {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
gap: 8rpx;
|
||||
}
|
||||
.kpi-item { flex: 1;
|
||||
.kpi-item {
|
||||
text-align: center;
|
||||
}
|
||||
.kpi-label { opacity: 0.9; font-size: 24rpx; color: #6b5a2a;
|
||||
.kpi-label {
|
||||
opacity: 0.9;
|
||||
font-size: 26rpx;
|
||||
color: #444;
|
||||
display: -webkit-box;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 2;
|
||||
overflow: hidden;
|
||||
line-height: 32rpx;
|
||||
/* 行高>=字体,避免上沿被裁切 */
|
||||
min-height: 64rpx;
|
||||
/* 两行高度,防止折行挤压 */
|
||||
}
|
||||
.kpi-value { display: block; margin-top: 12rpx; font-size: 46rpx; font-weight: 800; color: #B4880F;
|
||||
.kpi-value {
|
||||
display: block;
|
||||
margin-top: 8rpx;
|
||||
font-size: 56rpx;
|
||||
font-weight: 800;
|
||||
color: #4C8DFF;
|
||||
}
|
||||
|
||||
/* 功能容器:整体玻璃面板,增强融入感 */
|
||||
/* 功能容器:整体玻璃面板,增强融入感 */
|
||||
.grid-wrap {
|
||||
margin: 0 20rpx 32rpx;
|
||||
padding: 28rpx 20rpx 12rpx;
|
||||
border-radius: 24rpx;
|
||||
background: rgba(255,255,255,0.55);
|
||||
-webkit-backdrop-filter: blur(10rpx);
|
||||
backdrop-filter: blur(10rpx);
|
||||
border: 2rpx solid rgba(203,166,61,0.22);
|
||||
box-shadow: 0 8rpx 18rpx rgba(0,0,0,0.06);
|
||||
margin: 0 20rpx 32rpx;
|
||||
padding: 28rpx 20rpx 12rpx;
|
||||
border-radius: 24rpx;
|
||||
background: #ffffff;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
/* 功能九宫格 */
|
||||
/* 功能九宫格 */
|
||||
.grid {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-row-gap: 64rpx;
|
||||
grid-column-gap: 36rpx;
|
||||
padding: 40rpx 28rpx 28rpx;
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
grid-row-gap: 64rpx;
|
||||
grid-column-gap: 36rpx;
|
||||
padding: 40rpx 28rpx 28rpx;
|
||||
}
|
||||
.grid-item { display: flex; flex-direction: column; align-items: center; text-align: center;
|
||||
.grid-item {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
text-align: center;
|
||||
}
|
||||
.icon { display: flex; align-items: center; justify-content: center; color: #6b5a2a; position: relative;
|
||||
.icon {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
color: #111;
|
||||
position: relative;
|
||||
}
|
||||
.icon-squircle {
|
||||
width: 132rpx; height: 132rpx;
|
||||
border-radius: 28rpx;
|
||||
background: linear-gradient(145deg, rgba(255,255,255,0.92), rgba(255,255,255,0.70));
|
||||
-webkit-backdrop-filter: blur(12rpx);
|
||||
backdrop-filter: blur(12rpx);
|
||||
border: 2rpx solid rgba(203,166,61,0.22);
|
||||
box-shadow: 0 10rpx 24rpx rgba(0,0,0,0.10), 0 0 0 2rpx rgba(255,255,255,0.65) inset;
|
||||
overflow: hidden;
|
||||
width: 132rpx;
|
||||
height: 132rpx;
|
||||
border-radius: 28rpx;
|
||||
background: #f1f1f1;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
box-shadow: none;
|
||||
overflow: hidden;
|
||||
}
|
||||
.icon-squircle::before { content: ''; position: absolute; left: -30%; top: -40%; width: 160%; height: 70%; background: linear-gradient( to bottom, rgba(255,255,255,0.9), rgba(255,255,255,0.0) ); transform: rotate(12deg);
|
||||
.icon-squircle::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
left: -30%;
|
||||
top: -40%;
|
||||
width: 160%;
|
||||
height: 70%;
|
||||
background: linear-gradient(to bottom, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0));
|
||||
transform: rotate(12deg);
|
||||
}
|
||||
.icon-img { width: 96rpx; height: 96rpx;
|
||||
.icon-img {
|
||||
width: 96rpx;
|
||||
height: 96rpx;
|
||||
}
|
||||
.icon-emoji { font-size: 60rpx; line-height: 1;
|
||||
.icon-emoji {
|
||||
font-size: 60rpx;
|
||||
line-height: 1;
|
||||
}
|
||||
.icon-placeholder { width: 84rpx; height: 84rpx; border-radius: 18rpx; background:
|
||||
linear-gradient(135deg, rgba(212,175,55,0.18), rgba(255,255,255,0.0)),
|
||||
repeating-linear-gradient(90deg, rgba(180,150,60,0.35) 0, rgba(180,150,60,0.35) 8rpx, transparent 8rpx, transparent 16rpx),
|
||||
repeating-linear-gradient(0deg, rgba(180,150,60,0.20) 0, rgba(180,150,60,0.20) 8rpx, transparent 8rpx, transparent 16rpx);
|
||||
box-shadow: inset 0 0 0 2rpx rgba(203,166,61,0.28);
|
||||
.icon-placeholder {
|
||||
width: 84rpx;
|
||||
height: 84rpx;
|
||||
border-radius: 18rpx;
|
||||
background: #f1f1f1;
|
||||
border: 2rpx solid #e5e7eb;
|
||||
box-shadow: none;
|
||||
}
|
||||
.icon-text { font-size: 46rpx; font-weight: 700;
|
||||
.icon-text {
|
||||
font-size: 46rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
.grid-title { display: none;
|
||||
.grid-title {
|
||||
display: none;
|
||||
}
|
||||
.grid-chip { margin-top: 14rpx; padding: 6rpx 14rpx; border-radius: 999rpx; background: rgba(215,167,46,0.16); color: #5a4a1f; font-size: 22rpx;
|
||||
.grid-chip {
|
||||
margin-top: 14rpx;
|
||||
padding: 8rpx 16rpx;
|
||||
border-radius: 999rpx;
|
||||
background: #4C8DFF;
|
||||
color: #fff;
|
||||
font-size: 28rpx;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
/* 底部操作条:浅色半透明 + 金色主按钮 */
|
||||
/* 底部操作条:浅色半透明 + 金色主按钮 */
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
left: 0; right: 0; bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
padding: 14rpx 18rpx calc(env(safe-area-inset-bottom) + 14rpx);
|
||||
background: rgba(255,255,255,0.85);
|
||||
box-shadow: 0 -6rpx 18rpx rgba(0,0,0,0.08);
|
||||
-webkit-backdrop-filter: blur(10rpx);
|
||||
backdrop-filter: blur(10rpx);
|
||||
z-index: 9999;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-around;
|
||||
padding: 14rpx 18rpx calc(env(safe-area-inset-bottom) + 14rpx);
|
||||
background: rgba(255, 255, 255, 0.85);
|
||||
box-shadow: 0 -6rpx 18rpx rgba(0, 0, 0, 0.08);
|
||||
-webkit-backdrop-filter: blur(10rpx);
|
||||
backdrop-filter: blur(10rpx);
|
||||
z-index: 9999;
|
||||
}
|
||||
.tab { flex: 1; text-align: center; color: #8a7535; font-size: 26rpx;
|
||||
.tab {
|
||||
flex: 1;
|
||||
text-align: center;
|
||||
color: #8a7535;
|
||||
font-size: 26rpx;
|
||||
}
|
||||
.tab.active { color: #B4880F;
|
||||
.tab.active {
|
||||
color: #B4880F;
|
||||
}
|
||||
.tab.primary {
|
||||
flex: 0 0 auto;
|
||||
min-width: 180rpx;
|
||||
margin: 0 18rpx;
|
||||
padding: 18rpx 32rpx;
|
||||
background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%);
|
||||
color: #493c1b;
|
||||
border-radius: 999rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 800;
|
||||
box-shadow: 0 10rpx 22rpx rgba(215,167,46,0.25), 0 0 0 2rpx rgba(255,255,255,0.70) inset;
|
||||
}
|
||||
flex: 0 0 auto;
|
||||
min-width: 180rpx;
|
||||
margin: 0 18rpx;
|
||||
padding: 18rpx 32rpx;
|
||||
background: linear-gradient(135deg, #FFE69A 0%, #F4CF62 45%, #D7A72E 100%);
|
||||
color: #493c1b;
|
||||
border-radius: 999rpx;
|
||||
font-size: 30rpx;
|
||||
font-weight: 800;
|
||||
box-shadow: 0 10rpx 22rpx rgba(215, 167, 46, 0.25), 0 0 0 2rpx rgba(255, 255, 255, 0.7) inset;
|
||||
}
|
||||
Reference in New Issue
Block a user