gpt4 book ai didi

css - Svelte:有没有办法在 svelte 组件范围内创建全局 css 变量?

转载 作者:行者123 更新时间:2023-12-01 14:45:09 28 4
gpt4 key购买 nike

我已经设置了我在 index.js 中导入的 global.css 文件

--root {
--main-color: red;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

index.js

import "./global.css";
import App from "./App.svelte";

const app = new App({
target: document.body
});


我的 webpack 设置

const path = require("path");
const HtmlWebpackPlugin = require("html-webpack-plugin");
const ExtractTextPlugin = require("extract-text-webpack-plugin");

module.exports = {
entry: "./src/index.js",
output: {
filename: "bundle.js",
path: path.resolve(__dirname, "dist")
},
module: {
rules: [
{
test: /\.(html|svelte)$/,
exclude: /node_modules/,
use: {
loader: "svelte-loader",
options: {
emitCss: true,
hotReload: true
}
}
},
{
test: /\.css$/,
use: ExtractTextPlugin.extract({
fallback: { loader: "style-loader", options: { sourceMap: true } },
use: [
{ loader: "css-loader", options: { sourceMap: true } },
{
loader: "postcss-loader",
options: {
sourceMap: true,
ident: "postcss",
plugins: loader => [
require("postcss-import")({}),
require("postcss-preset-env")(),
require("cssnano")()
]
}
}
]
})
}
]
},
plugins: [new HtmlWebpackPlugin(), new ExtractTextPlugin("styles.css")]
};



非常适合为整个应用程序设置全局 CSS。但我正在尝试在我的 slim 组件中使用 --main-color 。有没有办法将它们注入(inject)到所有组件的 css 中?

由于我首先导入 global.css,它应该可以工作,因为它首先发出一个带有 --root{} 的文件,然后是其余的组件样式。

最佳答案

在主组件下面打印代码

:global(:root){
--header-color: purple
}

进入你的其他文件只需使用它:
h1{
color: var(--header-color);
}

关于css - Svelte:有没有办法在 svelte 组件范围内创建全局 css 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56083580/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com