首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用shadow-dom web组件获得一致的聚焦轮廓颜色?

如何使用shadow-dom web组件获得一致的聚焦轮廓颜色?
EN

Stack Overflow用户
提问于 2019-04-18 13:38:45
回答 1查看 315关注 0票数 3

我使用的是web组件,主要是用lit-elementlit-html编写的,它们使用的是Shadow DOM。

一些组件有按钮和其他交互式部分,它们具有默认的焦点轮廓。

在构建应用程序时,我喜欢设置页面范围的规则,将焦点轮廓更改为与页面背景颜色明显不同的颜色。

代码语言:javascript
复制
*:focus {
  outline: 2px solid lime;
}

我原以为这会越过阴影边界进入web组件,类似于colorfont-size,但事实并非如此

考虑到outline不会跨越阴影边界-我有哪些选项可以实现一致的聚焦轮廓颜色?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-26 09:30:20

在你的应用中标准化CSS变量--focus-outline

应用程序级别:

代码语言:javascript
复制
* {
  --focus-outline: 2px solid lime;
}

*:focus {
  outline: var(--focus-outline);
}

组件用法示例:

代码语言:javascript
复制
*:focus {
  outline: var(--focus-outline, 2px solid #0af);
}

必须重构每个组件才能接受此变量

每个组件都必须像2px solid #0af一样定义自己的回退(遗憾的是,目前还没有任何标准化的default-focus-outline CSS值)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55739721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档