Spartacus 4 - 如何扩展默认店面主题?
Spartacus 4 - How to extend default Storefront theme?
我在 Spartacus 4.0.1 中尝试了基本的原色更改,但它似乎被默认样式覆盖了。遵循指南:https://sap.github.io/spartacus-docs/css-architecture/
是否有解决此问题的方法,或者它是否已在较新版本中修复?
这是我的代码
mystore/src/styles.scss:
$primary: green;
$font-weight-normal: 600;
$styleVersion: 4.0;
@import "~@spartacus/styles/index";
:root {
--cx-color-primary: green;
}
screenshot showing my style is being overwritten
从 4.0 版开始,覆盖基本原色的最简单和推荐的方法是更改 CSS 变量的编译值。但是在 CSS body
选择器中更改它们,而不是 :root
选择器。
storefrontapp/src/styles.scss 文件示例:
$useLatestStyles: true;
@import '@spartacus/styles';
@import '@spartacus/styles/scss/theme/santorini';
body {
--cx-color-primary: #a7fff6;
--cx-color-seconday: #8aa39b;
--cx-color-text: #5c6f68;
--cx-color-background: #95d9c3;
--cx-color-dark: #a4f9c8;
}
我今天遇到了同样的问题。查看根文件夹中的 angular.json 文件。有一个部分定义了加载的样式。对我来说,这看起来像这样:
"styles": [
"src/styles.scss"
"src/styles/spartacus/user.scss",
"src/styles/spartacus/organization.scss",
"src/styles/spartacus/checkout.scss",
"src/styles/spartacus/cart.scss",
],
我注意到在 user.scss 和所有其他导入中导入了标准 @spartacus/styles 库在顶部。因此,您在 styles.scss 中所做的一切都会被这些导入再次覆盖。
我现在的做法是将 styles.scss 放在最后。所以什么都没有被覆盖。
"styles": [
"src/styles/spartacus/user.scss",
"src/styles/spartacus/organization.scss",
"src/styles/spartacus/checkout.scss",
"src/styles/spartacus/cart.scss",
"src/styles.scss"
],
对我来说,这样的顺序似乎是一个错误。稍后可能会报告。
我在 Spartacus 4.0.1 中尝试了基本的原色更改,但它似乎被默认样式覆盖了。遵循指南:https://sap.github.io/spartacus-docs/css-architecture/
是否有解决此问题的方法,或者它是否已在较新版本中修复?
这是我的代码 mystore/src/styles.scss:
$primary: green;
$font-weight-normal: 600;
$styleVersion: 4.0;
@import "~@spartacus/styles/index";
:root {
--cx-color-primary: green;
}
screenshot showing my style is being overwritten
从 4.0 版开始,覆盖基本原色的最简单和推荐的方法是更改 CSS 变量的编译值。但是在 CSS body
选择器中更改它们,而不是 :root
选择器。
storefrontapp/src/styles.scss 文件示例:
$useLatestStyles: true;
@import '@spartacus/styles';
@import '@spartacus/styles/scss/theme/santorini';
body {
--cx-color-primary: #a7fff6;
--cx-color-seconday: #8aa39b;
--cx-color-text: #5c6f68;
--cx-color-background: #95d9c3;
--cx-color-dark: #a4f9c8;
}
我今天遇到了同样的问题。查看根文件夹中的 angular.json 文件。有一个部分定义了加载的样式。对我来说,这看起来像这样:
"styles": [
"src/styles.scss"
"src/styles/spartacus/user.scss",
"src/styles/spartacus/organization.scss",
"src/styles/spartacus/checkout.scss",
"src/styles/spartacus/cart.scss",
],
我注意到在 user.scss 和所有其他导入中导入了标准 @spartacus/styles 库在顶部。因此,您在 styles.scss 中所做的一切都会被这些导入再次覆盖。
我现在的做法是将 styles.scss 放在最后。所以什么都没有被覆盖。
"styles": [
"src/styles/spartacus/user.scss",
"src/styles/spartacus/organization.scss",
"src/styles/spartacus/checkout.scss",
"src/styles/spartacus/cart.scss",
"src/styles.scss"
],
对我来说,这样的顺序似乎是一个错误。稍后可能会报告。