我試圖在沒有成功的陰影dom中設置樣式。唯一的事情是我想從影子DOM之外做到這一點。另一件重要的事情是,Shadow dom造型應該只適用於'bar'元素中的影子dom。這裏是我的測試代碼:試圖從外部設計陰影DOM
<!doctype html>
<html>
<head>
<style>
:host(bar) span:first-child {
text-transform: uppercase;
color: green;
}
</style>
</head>
<body>
<bar></bar>
<script>
var bar = document.querySelector('bar');
var root = bar.createShadowRoot();
root.innerHTML = '<span>bar</span><span>foo</span>';
</script>
</body>
</html>
和獎金的問題,究竟是什麼
:host(bar:host) { ... }
嗎?
不錯,thnx。我只注意到** bar^span {...} **確實有效,但是** bar^span:first-child {...} **不會(Chrome v34)。這可能與所有這些「實驗」有關 –
@JeanlucaScaljeri現在陰影dom中的CSS順序現在很陰暗,所以如果你想要定位第一個跨度,你可能希望嘗試'span:first-of-type'相反,將你的影子DOM包裝在父元素中也可能解決很多問題。 – Entoarox
我嘗試了父節點建議,它確實修復了它,thnx。我也嘗試過使用[polyfill](https://github.com/Polymer/ShadowDOM),但這似乎不起作用。他們不支持CSS中的**^**嗎? –