Shadow DOM和自定义样式

4
我阅读了这篇文章,据我所知,每个本地浏览器小部件实际上都是基本元素、样式和脚本的组合。这引发了一个问题-如果它们由基本构建块组成,那么是否有一种通过JavaScript自定义它们的方法?我的意思并不是以替换的方式,就像一些JavaScript库/插件那样——仅仅通过访问它们的"Shadow DOM"属性并向其中添加一些CSS样式,例如。此外,这个页面有一些用例,但没有任何实际用途。
有人尝试过这样的事情吗?有可能吗?缺点是什么?
谢谢。
1个回答

3

我的主要担忧是,不同浏览器之间的影子DOM实现可能会不同,这样你就基本上需要某种库来处理它。我不确定是否是这种情况,但值得考虑。此外,鉴于有那么多小部件库可用,并且这是处理大多数这些问题的标准方式,是否值得承担一整套未知问题,而不仅仅是使用已知元素?


确实,已经有很多选项了。然而,它们所有的选项(我认为)都使用替换并基于hacky方法。我之所以考虑这个问题,是因为性能的提高(尽管微不足道),更多地是作为一个实验,而不是要付诸实际应用。当然,如果有一种方法可以实现它,那么为每个浏览器组件提供本地样式也无妨。 - dbozhinovski
我对此没有太多学术见解,我的建议更多来自实践角度。另外,我不会把其他控件称为“hacky”,因为我认为你这么说是带有负面意义的,只是因为它们不是原生控件。无论如何,祝你好运。 - Jarrett Widman
没有贬义,如果听起来是这样的话,我很抱歉。不,我只是想说这是目前最好的可用和经过测试的解决方案(它虽然有点hacky,因为它使用替换、覆盖等),这当然并不意味着它是唯一可能的解决方案。我会进一步研究,并在发现任何重要信息时进行更新。再次感谢。 - dbozhinovski

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接