fix(web): 搜索框聚焦双框与滚动条

- 组件库 Input:聚焦只用边框变主色,不再叠加 outline(文本框点击也会命中 :focus-visible)
- 页面全局 :focus-visible 收窄到非表单控件,避免覆盖输入框自身的 outline 处理
- 搜索框恢复旧版浅边框 + 卡片阴影,聚焦不追加边框/焦点环
- Layout 新增 hideScrollbar,内容区滚动条隐藏(旧版行为)
This commit is contained in:
stash
2026-10-28 20:29:36 +08:00
parent 1942e201e9
commit 95b6cedb06
3 changed files with 17 additions and 5 deletions
+4 -3
View File
@@ -90,9 +90,10 @@
transform: translateX(-50%);
}
/* 旧版搜索是「无边框 + 卡片阴影」 */
.search-row > *:first-child {
border-color: transparent;
/* 旧版搜索是「浅边框 + 卡片阴影」,聚焦时不额外加边框/焦点环 */
.search-row > *:first-child,
.search-row > *:first-child:focus-within {
border-color: var(--su-border);
box-shadow: var(--su-shadow-card);
}
+1
View File
@@ -263,6 +263,7 @@ export default function App() {
contentOffset={88}
height="screen"
scrollable
hideScrollbar
contentId="content-scroll"
className="app"
header={
+12 -2
View File
@@ -40,8 +40,18 @@ ol {
list-style: none;
}
/* 键盘焦点环由组件库统一提供;页面只补“可聚焦容器”的兜底 */
:focus-visible {
/* 键盘焦点环由组件库统一提供;这里只给「非表单控件」补兜底。
表单控件不能加全局 outline:输入框点击时也会命中 :focus-visible,
会和组件自己的边框态叠成「双框」(用户实际报过的 bug)。 */
a:focus-visible,
button:focus-visible,
[tabindex]:not(input):focus-visible {
outline: var(--su-focus-ring);
outline-offset: var(--su-focus-ring-offset);
}
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
outline: none;
}