38 lines
1.4 KiB
Markdown
38 lines
1.4 KiB
Markdown
# 实现方案 —— 2026-04-19-00-13-20
|
|
|
|
## 方案目标
|
|
使打印/PDF导出时 `.field-value` 的下划线紧贴文字底部。
|
|
|
|
## 修改点
|
|
|
|
### 修改文件:`src/utils/print.ts`
|
|
|
|
在 `@media print` 的 `.smart-field-wrapper .field-value` 样式中增加 `line-height: 1 !important;`。
|
|
|
|
**原因**:即使 `padding-bottom` 已设为 `0px`,父级文档的 `line-height: 1.5` 仍会在文字下方保留不可见的行高留白。通过强制压缩行高到 `1`,可以消除底部留白,使 `border-bottom` 紧贴文字。
|
|
|
|
```css
|
|
@media print {
|
|
.smart-field-wrapper .field-value {
|
|
outline: none !important;
|
|
box-shadow: none !important;
|
|
border: none !important;
|
|
border-bottom: 1px solid #000 !important;
|
|
border-radius: 0 !important;
|
|
background: transparent !important;
|
|
padding: 0 2px 0px 2px !important;
|
|
line-height: 1 !important;
|
|
}
|
|
.smart-field-wrapper .field-value.no-underline { border-bottom: none !important; }
|
|
}
|
|
```
|
|
|
|
## 涉及文件及修改点
|
|
| 文件 | 修改点 |
|
|
|------|--------|
|
|
| `src/utils/print.ts` | @media print 中 .field-value 增加 line-height: 1 !important |
|
|
|
|
## 风险与注意事项
|
|
1. `line-height: 1` 会显著压缩行高,但由于 `.field-value` 在打印时已经是 `inline-block` 且独立显示,不会影响周围段落的整体行距。
|
|
2. `!important` 确保优先级高于任何内联样式。
|