Shadow DOM导入行为

时间:2016-10-12 20:24:53

标签: javascript html css shadow-dom

我正在学习ShadowDOM并面对这个奇怪的导入问题。如果没有shadowDOM,我的图标会出现在屏幕上,但在shadowDOM中,它会显示为框。我不确定我做错了什么。请指导我。

这样做。

<style>
    @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css");
</style>

<i class="fa fa-arrow-left" aria-hidden="true"></i>

这不是。

<div id="root">root</div>

<script>
    let root = document.getElementById('root').createShadowRoot();
    root.innerHTML = `
        <style>
            @import url("https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css");
        </style>

        <i class="fa fa-arrow-left" aria-hidden="true"></i>
    `;
</script>

1 个答案:

答案 0 :(得分:0)

对于要定义的导入字体,您必须在主文档标题中包含CSS文件:

<link rel="stylesheet" href="font-awesome.css">

请参阅this answer on SO中的工作示例。