338 lines
6.9 KiB
Plaintext
338 lines
6.9 KiB
Plaintext
/**
|
||
* 这里是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: linear-gradient(180deg, #f8fbff 0%, #ffffff 60%);
|
||
min-height: 100vh;
|
||
}
|
||
|
||
/* 首页横幅(移除) */
|
||
/* 公告栏 */
|
||
.notice {
|
||
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: 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-item {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12rpx;
|
||
min-height: 72rpx;
|
||
}
|
||
.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: #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::before {
|
||
content: "";
|
||
display: block;
|
||
width: 8rpx;
|
||
height: 28rpx;
|
||
border-radius: 8rpx;
|
||
background: #4C8DFF;
|
||
}
|
||
.section-text {
|
||
color: #111;
|
||
font-size: 30rpx;
|
||
font-weight: 700;
|
||
letter-spacing: 1rpx;
|
||
}
|
||
|
||
/* 顶部英雄区:浅色玻璃卡片,带金色描边与柔和阴影 */
|
||
.hero {
|
||
margin: 16rpx 20rpx;
|
||
padding: 18rpx;
|
||
border-radius: 20rpx;
|
||
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;
|
||
}
|
||
.hero-sub {
|
||
display: flex;
|
||
gap: 12rpx;
|
||
margin-bottom: 22rpx;
|
||
flex-wrap: wrap;
|
||
}
|
||
.chip {
|
||
padding: 8rpx 16rpx;
|
||
border-radius: 999rpx;
|
||
background: rgba(76, 141, 255, 0.1);
|
||
color: #4C8DFF;
|
||
font-size: 24rpx;
|
||
font-weight: 700;
|
||
border: 2rpx solid rgba(76, 141, 255, 0.25);
|
||
}
|
||
.brand {
|
||
font-size: 36rpx;
|
||
font-weight: 700;
|
||
letter-spacing: 1rpx;
|
||
color: #4C8DFF;
|
||
}
|
||
.cta {
|
||
padding: 8rpx 18rpx;
|
||
border-radius: 999rpx;
|
||
background: #4C8DFF;
|
||
border: 2rpx solid #4C8DFF;
|
||
box-shadow: none;
|
||
}
|
||
.cta-text {
|
||
color: #fff;
|
||
font-size: 30rpx;
|
||
font-weight: 700;
|
||
letter-spacing: 1rpx;
|
||
}
|
||
|
||
/* KPI 卡片化布局:2×2 */
|
||
.kpi {
|
||
display: grid;
|
||
grid-template-columns: repeat(2, 1fr);
|
||
gap: 16rpx;
|
||
}
|
||
.kpi-item {
|
||
text-align: center;
|
||
background: #ffffff;
|
||
border: 2rpx solid #e5e7eb;
|
||
border-radius: 16rpx;
|
||
padding: 16rpx 8rpx;
|
||
}
|
||
|
||
/* KPI 卡片(更扁平,降低高度) */
|
||
.kpi-grid {
|
||
grid-template-columns: repeat(2, 1fr);
|
||
gap: 16rpx;
|
||
}
|
||
.kpi-card {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12rpx;
|
||
text-align: left;
|
||
padding: 12rpx 14rpx;
|
||
border-radius: 12rpx;
|
||
background: #fff;
|
||
border: 2rpx solid #eef2f6;
|
||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.04);
|
||
}
|
||
.kpi-icon {
|
||
width: 44rpx;
|
||
height: 44rpx;
|
||
opacity: 0.9;
|
||
}
|
||
.kpi-content {
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
.kpi-label {
|
||
color: #6b778c;
|
||
font-weight: 700;
|
||
font-size: 24rpx;
|
||
line-height: 30rpx;
|
||
}
|
||
.kpi-value {
|
||
color: #4C8DFF;
|
||
font-size: 36rpx;
|
||
line-height: 40rpx;
|
||
margin-top: 0;
|
||
font-weight: 800;
|
||
}
|
||
|
||
/* 常用功能:胶囊+阴影卡片样式的图标栅格(旧风格保留以防回退) */
|
||
.grid {
|
||
grid-row-gap: 36rpx;
|
||
grid-column-gap: 26rpx;
|
||
padding: 32rpx 24rpx 28rpx;
|
||
}
|
||
.grid-item {
|
||
position: relative;
|
||
}
|
||
.icon-squircle {
|
||
width: 140rpx;
|
||
height: 140rpx;
|
||
border-radius: 28rpx;
|
||
background: #fff;
|
||
border: 2rpx solid #e5e7eb;
|
||
box-shadow: 0 10rpx 20rpx rgba(0, 0, 0, 0.06);
|
||
}
|
||
.grid-chip {
|
||
margin-top: 12rpx;
|
||
padding: 6rpx 14rpx;
|
||
border-radius: 999rpx;
|
||
background: rgba(76, 141, 255, 0.12);
|
||
color: #4C8DFF;
|
||
font-size: 26rpx;
|
||
font-weight: 700;
|
||
}
|
||
|
||
/* 功能容器:更轻的留白 */
|
||
.grid-wrap {
|
||
margin: 8rpx 12rpx 24rpx;
|
||
padding: 8rpx 8rpx 0;
|
||
border-radius: 20rpx;
|
||
background: transparent;
|
||
border: 0;
|
||
}
|
||
|
||
/* 功能卡片宫格:方形竖排,图标在上文字在下(与截图一致) */
|
||
.feature-grid {
|
||
display: grid;
|
||
grid-template-columns: repeat(3, 1fr);
|
||
gap: 14rpx;
|
||
padding: 8rpx 8rpx 18rpx;
|
||
}
|
||
.feature-card {
|
||
height: 164rpx;
|
||
background: #fff;
|
||
border: 2rpx solid #eef2f6;
|
||
border-radius: 16rpx;
|
||
box-shadow: 0 6rpx 16rpx rgba(0, 0, 0, 0.04);
|
||
padding: 12rpx;
|
||
display: flex;
|
||
flex-direction: column;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
.fc-icon {
|
||
width: 86rpx;
|
||
height: 86rpx;
|
||
border-radius: 18rpx;
|
||
background: #f7faff;
|
||
border: 2rpx solid #e8eef8;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
}
|
||
.fc-img {
|
||
width: 56rpx;
|
||
height: 56rpx;
|
||
opacity: 0.95;
|
||
}
|
||
.fc-emoji {
|
||
font-size: 48rpx;
|
||
}
|
||
.fc-placeholder {
|
||
width: 56rpx;
|
||
height: 56rpx;
|
||
border-radius: 12rpx;
|
||
background: #f1f1f1;
|
||
border: 2rpx solid #e8eef8;
|
||
}
|
||
.fc-title {
|
||
margin-top: 10rpx;
|
||
font-size: 26rpx;
|
||
font-weight: 700;
|
||
color: #111;
|
||
}
|
||
|
||
/* 底部操作条:浅色半透明 + 金色主按钮 */
|
||
.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;
|
||
}
|
||
.tab {
|
||
flex: 1;
|
||
text-align: center;
|
||
color: #8a7535;
|
||
font-size: 26rpx;
|
||
}
|
||
.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.7) inset;
|
||
} |