diff --git a/components-diy/diy-card-mini.vue b/components-diy/diy-card-mini.vue index 3c83a28..34bed50 100644 --- a/components-diy/diy-card-mini.vue +++ b/components-diy/diy-card-mini.vue @@ -405,10 +405,12 @@ export default { */ headThemeStyle() { const pad = px2rpx(num(this.c.padding, CardTokens.space.lg)); + // 独立成块上浮时, 头部预留压边空间(对齐参考 hero 的 140rpx 底内边距), 使蓝色姓名资料卡更高 + const bottom = this.actsFloat ? 140 : 28; return this.$util.objToStyle({ background: themeGradient(this.card), margin: '-' + pad + 'rpx -' + pad + 'rpx 0', - padding: '32rpx ' + pad + 'rpx 28rpx', + padding: '32rpx ' + pad + 'rpx ' + bottom + 'rpx', }); }, /** 资料区标题(2.17): 默认关(历史配置无此字段时不出标题) */ @@ -691,10 +693,22 @@ export default { * 2026-10-22 线上问题(qrBlockStyle)同根因, 2026-10-24 H5 实测复现于操作区 * (actsBlockBg/Radius/Pad 与 corner 让位同时失效, style 属性整体为 null) */ + /** 「独立成块」判定: 配了底色/圆角/内边距即视为独立块, 需上浮压住头图下沿(参考图) */ + actsFloat() { + return this.actsAbove && !!this.actsBlockStyle; + }, actsBlockFinalStyle() { const clear = this.cornerClearStyle || {}; - const extra = clear.marginTop ? 'margin-top: ' + clear.marginTop + ';' : ''; - return ((this.actsBlockStyle || '') + ' ' + extra).trim(); + const parts = []; + if (this.actsBlockStyle) parts.push(this.actsBlockStyle); + if (clear.marginTop) parts.push('margin-top: ' + clear.marginTop + ';'); + if (this.actsFloat) { + // 参考图定稿: 独立成块上浮 -130rpx(对齐 enterprise .quick), 压在蓝色 hero 下沿并带阴影 + parts.push('margin-top: -130rpx;'); + parts.push('z-index: 4;'); + parts.push('box-shadow: 0 8rpx 30rpx rgba(30, 111, 217, 0.10);'); + } + return parts.join(' ').trim(); }, detailBtnStyle() { // 发送名片大按钮: 纯色主题实心(2026-10-22 参考图定稿, 不再用渐变); @@ -1068,6 +1082,7 @@ export default { margin-top: 24rpx; display: flex; flex-wrap: wrap; + justify-content: center; .act-grid-item { width: 25%; @@ -1655,4 +1670,22 @@ export default { margin-top: 20rpx; } } + +/* theme 头对齐参考 hero: 头像/姓名/副标题放大(仅蓝色姓名资料卡, plain 不受影响) */ +.mini-headtheme .mini-avatar { + width: 128rpx; + height: 128rpx; +} + +.mini-headtheme .mini-avatar .avatar-initial { + font-size: 56rpx; +} + +.mini-headtheme .mini-head-info .name-row .mini-name { + font-size: 40rpx; +} + +.mini-headtheme .mini-head-info .mini-sub { + font-size: 26rpx; +}