From fd22b9c7923d0978acb0fb2c05b162278084d5ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=85=E5=87=A4?= Date: Mon, 14 Sep 2026 09:34:24 -0700 Subject: [PATCH] =?UTF-8?q?feat(menu):=20Avatar=20=E9=A2=86=E5=A4=B4?= =?UTF-8?q?=E7=9A=84=E8=8F=9C=E5=8D=95=E8=A1=8C=E7=BA=B3=E5=85=A5=E5=89=8D?= =?UTF-8?q?=E5=AF=BC=E5=9B=BE=E6=A0=87=E5=88=97=E7=BA=A6=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit menu-item 的前导图标 grid 约定此前只认 svg/img,Avatar(span)领头 的行留在 flex+padding 几何里,与图标行存在 3px 错位(实测账户菜单 Team 子菜单:团队头像 x=232 vs 图标 x=229)。把 [data-slot="avatar"] 并入两条选择器,使头像行共享同一前导列、行高与文字列。 影响面:所有 Avatar 领头的菜单行都会进入该约定(图标居中于前导 列、文字列对齐),不只是账户菜单。 --- src/style.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/style.css b/src/style.css index e84167b..c70921a 100644 --- a/src/style.css +++ b/src/style.css @@ -2571,7 +2571,7 @@ The menu owns icon size and spacing; grid alignment centers the glyph. SelectItemText is transparent to this grid only when it has a leading icon. */ @layer utilities { - .menu-item:has(> :is(svg, img):first-child), + .menu-item:has(> :is(svg, img, [data-slot="avatar"]):first-child), .menu-item:has(> [data-slot="select-item-text"] > :is(svg, img):first-child) { display: grid; grid-template-columns: var(--menu-item-leading-size) minmax(0, 1fr); @@ -2582,7 +2582,7 @@ padding-inline-start: 0; column-gap: 0; } - .menu-item > :is(svg, img):first-child, + .menu-item > :is(svg, img, [data-slot="avatar"]):first-child, .menu-item > [data-slot="select-item-text"] > :is(svg, img):first-child { /* Menu geometry overrides legacy size/margin utilities at call sites. */ width: var(--menu-leading-icon-size) !important;