为什么 :host 选择器只能在带有 platform.js 的 chrome 中工作? [英] Why does the :host selector only work in chrome with platform.js?

查看:18
本文介绍了为什么 :host 选择器只能在带有 platform.js 的 chrome 中工作?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有很多关于如何设置 Web 组件样式的讨论.

例如,http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/ 建议您可以使用 :host 标签来定位组件标签本身,而带有 h1 的注入样式表应该将 h1 封装在组件的 shadow dom 中.

这很棒,并且适用于 chrome.

...但它只适用于 chrome.

在 Firefox 中访问上面的 url 没有显示任何花哨的演示;事实上,它们完全不起作用.

所以.

https://github.com/polymer/platform 理论上是一个 polyfill,可以让你使用 web浏览器不支持所有所需功能的组件.

理论上这包括对 CSS 规则的一些有限支持,请参阅:http://www.polymer-project.org/platform/shadow-dom.html

然而,实际上它不起作用.在所有.

这是怎么回事?当您无法设置组件样式时,我们怎么能认真地声称 platform.js polyfill 可以正常工作并支持旧版浏览器?

我见过的最好的解决方案是要求组件模板有一个已知的根类节点: