polish: icon sizing hardened for cross-browser (review I-1/M2/M3/M4)

- .sf-tp-icon CSS width/height (Safari doesn't support var() in SVG
  presentation attributes); --sm variant class replaces size= call sites
- search icon centered via translateY, decoupled from input height
- bare-arrow test: full charset (→←↗↘⌕▾) + line-level › whitelist
- new test: site.html tp_arrow must stay in sync with macro library path

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
浅念
2026-10-23 09:00:50 +08:00
parent 22b614118b
commit 1dd510285a
4 changed files with 31 additions and 5 deletions
+12 -2
View File
@@ -587,11 +587,20 @@ body.sf-theme-trade-pro {
/* ── 图标(Task 9 SVG 宏库:内联线条图标的对齐与间距)── */
/* 基线对齐:inline 上下文垂直居中,flex 上下文不被压缩换行 */
/* 基线对齐:inline 上下文垂直居中,flex 上下文不被压缩换行。
尺寸在 CSS 层固定(Safari 等引擎不支持 width/height 属性中的 var(),
属性值仅作无 CSS 场景的渐进增强;CSS 覆盖属性保证跨引擎一致) */
.sf-tp-icon {
display: inline-block;
vertical-align: middle;
flex-shrink: 0;
width: var(--sf-tp-icon-size-md, 20px);
height: var(--sf-tp-icon-size-md, 20px);
}
.sf-tp-icon--sm {
width: var(--sf-tp-icon-size-sm, 16px);
height: var(--sf-tp-icon-size-sm, 16px);
}
/* 按钮内紧跟文字的图标留出呼吸空间(flex gap 之外的显式间距,
@@ -617,7 +626,8 @@ body.sf-theme-trade-pro {
.sf-theme-trade-pro .pro-filter-search-box .sf-tp-icon {
position: absolute;
inset-inline-start: var(--sf-tp-space-3);
inset-block-end: var(--sf-tp-space-3);
inset-block-start: 50%;
transform: translateY(-50%);
pointer-events: none;
color: var(--sf-tp-color-text-muted);
}