【发布时间】:2021-05-14 18:20:59
【问题描述】:
我正在使用影子 DOM 进行 CSS 隔离。我希望 rem 字体大小使用影子 DOM 中的 HTML 元素字体大小。
<div class="shadow-div">shadow DOM font (should be 100px)</div> 中的字体应为100px,但rem 大小仍为16px。
这是一个小代码 sn-p 演示我想要做什么。
<style>
html {
font-size: 16px;
}
</style>
<div>light dom font</div>
<div id="root"></div>
<script>
const root = document.getElementById('root');
root.attachShadow({ mode: 'open' });
const html = document.createElement('html')
html.innerHTML = `
<head>
<style>
html {
font-size: 100px;
}
.shadow-div {
font-size: 1rem;
}
</style>
</head>
<body>
<div class="shadow-div">shadow dom font (should be 100px)</div>
</body>
`;
root.shadowRoot.appendChild(html);
</script>
【问题讨论】:
-
所以从
.shadow-div中删除font-size,或者将其显式设置为inherit...?
标签: javascript html css shadow-dom