|
|
@@ -163,12 +163,12 @@
|
|
|
世系树主体
|
|
|
════════════════════════════════ */
|
|
|
.tree-scroll {
|
|
|
- /* 减去搜索栏 + 自定义tabBar高度(约110rpx) */
|
|
|
- height: calc(100vh - 140rpx - 110rpx);
|
|
|
+ /* 搜索栏约140rpx + 调试栏约50rpx + 自定义tabBar约130rpx */
|
|
|
+ height: calc(100vh - 320rpx);
|
|
|
}
|
|
|
|
|
|
.tree-body {
|
|
|
- padding: 16rpx 0 60rpx;
|
|
|
+ padding: 16rpx 0 120rpx;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
align-items: center;
|
|
|
@@ -218,9 +218,10 @@
|
|
|
width: 100%;
|
|
|
display: flex;
|
|
|
align-items: flex-start;
|
|
|
- justify-content: center;
|
|
|
gap: 16rpx;
|
|
|
overflow-x: auto;
|
|
|
+ padding: 0 24rpx;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.center-row {
|
|
|
@@ -230,18 +231,24 @@
|
|
|
/* ── 通用卡片 ── */
|
|
|
.card {
|
|
|
border-radius: 16rpx;
|
|
|
- padding: 20rpx 24rpx;
|
|
|
+ padding: 16rpx 20rpx;
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
- gap: 8rpx;
|
|
|
+ gap: 6rpx;
|
|
|
flex-shrink: 0;
|
|
|
+ width: 200rpx;
|
|
|
+ min-width: 200rpx;
|
|
|
+ max-width: 200rpx;
|
|
|
+ overflow: hidden;
|
|
|
+ box-sizing: border-box;
|
|
|
}
|
|
|
|
|
|
.card-name-wrap {
|
|
|
display: flex;
|
|
|
align-items: baseline;
|
|
|
- gap: 8rpx;
|
|
|
- flex-wrap: wrap;
|
|
|
+ gap: 6rpx;
|
|
|
+ flex-wrap: nowrap;
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
|
|
|
|
.card-name {
|
|
|
@@ -251,6 +258,8 @@
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
+ flex-shrink: 1;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.card-name-sm {
|
|
|
@@ -264,31 +273,40 @@
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
flex-shrink: 1;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.card-gen {
|
|
|
- font-size: 21rpx;
|
|
|
+ font-size: 20rpx;
|
|
|
color: rgba(255,255,255,0.55);
|
|
|
line-height: 1.4;
|
|
|
overflow: hidden;
|
|
|
- display: -webkit-box;
|
|
|
- -webkit-box-orient: vertical;
|
|
|
- -webkit-line-clamp: 2;
|
|
|
- white-space: normal;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
/* ── 祖先卡 ── */
|
|
|
.ancestor-card {
|
|
|
background: linear-gradient(135deg, #1e3a5f 0%, #2a5298 100%);
|
|
|
- width: 220rpx;
|
|
|
- min-width: 220rpx;
|
|
|
- max-width: 220rpx;
|
|
|
box-shadow: 0 4rpx 16rpx rgba(42, 82, 152, 0.4);
|
|
|
border: 1rpx solid #2d5ea8;
|
|
|
- overflow: hidden;
|
|
|
}
|
|
|
|
|
|
-/* ── 兄弟卡 ── */
|
|
|
+/* ── 祖先行横向滚动(主卡 + 兄弟同行,scroll-into-view 使祖先居中) ── */
|
|
|
+.gen-peer-scroll {
|
|
|
+ width: 100%;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.gen-peer-list {
|
|
|
+ display: flex;
|
|
|
+ align-items: flex-start;
|
|
|
+ gap: 16rpx;
|
|
|
+ /* 两端留出约半屏宽度,让 scroll-into-view 能把目标卡片滚到屏幕中央 */
|
|
|
+ padding: 0 275rpx;
|
|
|
+}
|
|
|
+
|
|
|
+/* ── 兄弟卡(旧 sibling-scroll 保留兼容) ── */
|
|
|
.sibling-scroll {
|
|
|
flex: 1;
|
|
|
white-space: nowrap;
|
|
|
@@ -300,6 +318,21 @@
|
|
|
padding-right: 8rpx;
|
|
|
}
|
|
|
|
|
|
+/* ── 统一排行徽标 ── */
|
|
|
+.order-badge {
|
|
|
+ background: rgba(255,255,255,0.18);
|
|
|
+ border-radius: 8rpx;
|
|
|
+ padding: 3rpx 12rpx;
|
|
|
+ align-self: flex-start;
|
|
|
+ margin-bottom: 6rpx;
|
|
|
+}
|
|
|
+
|
|
|
+.order-badge-text {
|
|
|
+ font-size: 20rpx;
|
|
|
+ color: rgba(255,255,255,0.92);
|
|
|
+ font-weight: bold;
|
|
|
+}
|
|
|
+
|
|
|
/* ── 查询人物同辈横排(含center居中) ── */
|
|
|
.peer-scroll {
|
|
|
width: 100%;
|
|
|
@@ -310,7 +343,7 @@
|
|
|
display: flex;
|
|
|
align-items: flex-start;
|
|
|
gap: 16rpx;
|
|
|
- padding: 0 24rpx;
|
|
|
+ padding: 0 275rpx;
|
|
|
}
|
|
|
|
|
|
.peer-order-badge {
|
|
|
@@ -343,12 +376,8 @@
|
|
|
|
|
|
.sibling-card {
|
|
|
background: #1a3a5c;
|
|
|
- width: 180rpx;
|
|
|
- min-width: 180rpx;
|
|
|
- max-width: 180rpx;
|
|
|
border: 1rpx solid #2d5280;
|
|
|
box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.2);
|
|
|
- overflow: hidden;
|
|
|
}
|
|
|
|
|
|
.sibling-card .card-name {
|
|
|
@@ -359,15 +388,14 @@
|
|
|
color: #4a6a8a;
|
|
|
}
|
|
|
|
|
|
-/* ── 查询人物卡 ── */
|
|
|
+/* ── 查询人物卡(比普通卡略宽突出显示) ── */
|
|
|
.center-card {
|
|
|
background: linear-gradient(135deg, #b07d10 0%, #d4a017 100%);
|
|
|
width: 220rpx;
|
|
|
min-width: 220rpx;
|
|
|
max-width: 220rpx;
|
|
|
box-shadow: 0 4rpx 24rpx rgba(212, 160, 23, 0.5);
|
|
|
- border: 1rpx solid #e0b030;
|
|
|
- overflow: hidden;
|
|
|
+ border: 2rpx solid #e0b030;
|
|
|
}
|
|
|
|
|
|
.center-name {
|
|
|
@@ -376,24 +404,26 @@
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
+ flex-shrink: 1;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.center-simplified {
|
|
|
- color: rgba(255,255,255,0.8);
|
|
|
font-size: 20rpx;
|
|
|
+ color: rgba(255,255,255,0.8);
|
|
|
overflow: hidden;
|
|
|
text-overflow: ellipsis;
|
|
|
white-space: nowrap;
|
|
|
flex-shrink: 1;
|
|
|
+ min-width: 0;
|
|
|
}
|
|
|
|
|
|
.center-gen {
|
|
|
+ font-size: 20rpx;
|
|
|
color: rgba(255,255,255,0.75);
|
|
|
overflow: hidden;
|
|
|
- display: -webkit-box;
|
|
|
- -webkit-box-orient: vertical;
|
|
|
- -webkit-line-clamp: 2;
|
|
|
- white-space: normal;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
}
|
|
|
|
|
|
/* ── 子女区域 ── */
|
|
|
@@ -411,17 +441,13 @@
|
|
|
.children-list {
|
|
|
display: flex;
|
|
|
gap: 16rpx;
|
|
|
- padding: 0 8rpx 8rpx;
|
|
|
- justify-content: center;
|
|
|
+ padding: 0 275rpx 8rpx;
|
|
|
}
|
|
|
|
|
|
.child-card {
|
|
|
background: linear-gradient(135deg, #1a3a2a 0%, #1e5c35 100%);
|
|
|
- min-width: 160rpx;
|
|
|
- max-width: 200rpx;
|
|
|
border: 1rpx solid #2a7a45;
|
|
|
box-shadow: 0 2rpx 10rpx rgba(30, 92, 53, 0.4);
|
|
|
- position: relative;
|
|
|
}
|
|
|
|
|
|
.child-order-badge {
|
|
|
@@ -445,18 +471,18 @@
|
|
|
margin-top: 4rpx;
|
|
|
}
|
|
|
|
|
|
-/* ── 连接线 ── */
|
|
|
+/* ── 连接线(始终对齐屏幕中心) ── */
|
|
|
.connector {
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
width: 100%;
|
|
|
- height: 40rpx;
|
|
|
+ height: 48rpx;
|
|
|
align-items: center;
|
|
|
}
|
|
|
|
|
|
.connector-line {
|
|
|
width: 3rpx;
|
|
|
- height: 40rpx;
|
|
|
+ height: 48rpx;
|
|
|
background: linear-gradient(to bottom, #2a5298, #4a6580);
|
|
|
border-radius: 2rpx;
|
|
|
}
|