我知道我可以像这样使用style.innerHTML
在<style>
标记中创建自己的样式内容
let style = document.createElement("style");
style.setAttribute("id", "raptors");
style.innerHTML =
".puma {" +
"color: purple;" +
"font-size: 50px;" +
"text-align: left;" +
"}";
但是,我不想手动将css写入style.innerHTML
,而是想通过从本地文件(如./styles.css
)导入样式来设置样式内容。
styles.innerHTML = import `./styles.css`
所以我想出了这个fetch
解决方案,但是运气不好。有没有这个的解决方案?https://codesandbox.io/s/stylesheet-fetch-experiment-ek4d1h?file=/src/App.js:267-646
let style = document.createElement("style");
style.setAttribute("id", "test");
async function loadCss() {
try {
const response = await fetch("./style.css");
const css = await response.text();
style.textContent = css;
} catch (error) {
console.error(error);
}
}
loadCss();
3条答案
按热度按时间3lxsmp7m1#
您可以创建一个
link
并设置其href
,而不是创建一个style
元素:轻微相关:https://css-tricks.com/why-isnt-it-style-src/
xdnvmnnf2#
在组件中导入样式表,使用类名,就这样.
在
Component.tsx
或Component.js
中:在
Component.styles.css
中:sg3maiej3#
除了火狐:
在firefox中:使用CSSStyleSheet创建新的样式列表