feat ui设计稿

This commit is contained in:
Ironsp
2026-09-30 15:55:36 +08:00
parent ce8210fb3f
commit 9ab6253c81
102 changed files with 4855 additions and 2359 deletions

View File

@@ -123,6 +123,8 @@ onMounted(() => {
padding-top: @spacing-lg;
// 固定底条 72px + 呼吸间距,避免遮住 ③ 卡片
padding-bottom: 104px;
// 设计稿:导航下方 179 设计px(≈138px)白色通栏横幅,其下为页面底色
background: linear-gradient(to bottom, @white 0, @white 138px, @bg-color 138px);
&.is-loading {
.demand {
@@ -133,54 +135,76 @@ onMounted(() => {
}
.demand {
// 设计稿:页头下与首块间距 ≈ 20px
// 设计稿:标题距横幅顶 32 设计px、副标题行距 15 设计px、横幅下留白 50 设计px
&__head {
.flex(column, flex-start, stretch);
gap: @spacing-xs;
margin-bottom: @spacing-base;
gap: 11px;
margin-bottom: 50px;
}
&__title {
font-size: @font-size-xxl;
font-weight: 600;
color: @heading-color;
font-weight: 700;
line-height: 1.45;
color: @demand-ink;
}
&__subtitle {
font-size: @font-size-base;
color: @text-color-secondary;
font-size: 18px;
font-weight: 500;
color: @demand-subtitle;
}
// 设计稿三段内容位于同一张白色大卡内:三张卡无缝拼接呈现同一张卡的观感
&__card {
padding: @spacing-lg;
border-radius: @radius-base;
padding: 24px 40px 24px 49px;
border-radius: 0;
background: @white;
// 设计稿块间距 18px
// 三卡相连,不再留块间距
& + & {
margin-top: 18px;
margin-top: 0;
}
&:first-of-type {
padding-top: 37px;
border-radius: @radius-base @radius-base 0 0;
}
&:last-of-type {
padding-bottom: 40px;
border-radius: 0 0 @radius-base @radius-base;
}
}
// 区块标题:序号落在卡左内边距列(x=134 设计px),标题文字对齐内容列(x=194)
&__section {
.flex(row, flex-start, center);
gap: @spacing-sm;
margin-bottom: @spacing-base;
font-size: @font-size-lg;
font-weight: 600;
color: @heading-color;
.flex(row, flex-start, baseline);
gap: @spacing-xs;
margin-bottom: 16px;
font-size: @font-size-title;
font-weight: 500;
color: @demand-heading;
}
/** 区块序号:实心蓝圆 + 白色数字 */
// 内容列(卡片栅格 / 表单)与区块标题文字对齐到 x=194 设计列(60 设计px ≈ 46px)
&__section + * {
margin-left: 46px;
}
// ① 段标题到卡片栅格的间距更大(56 设计px ≈ 43px)
&__card:first-of-type &__section {
margin-bottom: 40px;
}
/** 区块序号:设计稿 48 设计px 蓝色数字(01/02/03) */
&__index {
.flex(row, center, center);
width: 18px;
height: 18px;
border-radius: 50%;
background: @primary-color;
font-size: @font-size-sm;
font-weight: 600;
color: @white;
flex-shrink: 0;
width: 42px;
font-size: 37px;
font-weight: 500;
line-height: 1;
color: @demand-accent;
}
&__required {