projects节点下的Spartacus项目angular.json,没有style相关的记录:build:thisStorefrontstyles:storefrontstyles文件夹下的package.json中没有定义的汉堡包的依赖性。样式库名称:@spartacus/styles被其他特征库引用为peerDependencies:所有内容都可以被其他项目使用@import导入:ConfiguringstylingSpartacus提供了两种样式的自定义方法。首先,您可以通过提供自定义主题来更改站点的全局外观。其次,Spartacus提供了一种称为FlexibleStyling的机制,它允许在组件级别更改样式。themingSpartacus中的主题是指网站的全局外观。这包括(但不限于)颜色、字体和字体大小。通过重新设置Spartacus主题,创建一个具有您自己的自定义品牌和标识的网站。Spartacus在@spartacus/styles包中提供了一个名为Sparta的默认样式库。这个包应该通过styles.scss文件导入到你的项目中。如下图所示:个性化斯巴达克斯主题的方式有以下三种。覆盖全局变量默认的Sparta主题提供了大量可以覆盖以自定义主题的变量。这些变量包含在@spartacus/styles/scss/theme/sparta/_variables中。为了给scss变量分配一个新值,必须在导入库之前重新分配变量中的值。示例:$primary:#e502bf$font-weight-normal:500;@import'~@spartacus/styles/index';扩展Sparta主题当变量没有提供足够的配置选项但又想重用Sparta的某些样式时,扩展Sparta主题很有用。可以通过创建新库和导入默认主题来扩展库。具体步骤如下:新建一个主题库:custom-styles/index.scss然后导入里面的默认主题:@import'~@spartacus/styles/index';//CustomStyleorimportsfromotherfiles最后,在项目的styles.scss里面,导入自定义主题库:@import'custom-styles/index.scss';另一种方式是新建一个库,在默认主题之后导入到项目中。@import'~@spartacus/styles/index';@import'自定义样式/index.scss';创建一个全新的主题库这种主题覆盖方式是完全省略默认样式导入。因此,必须复制Sparta中存在的所有类和变量(可以修改),或者必须从项目中删除它们的使用。灵活的样式可以直接影响每个组件的样式,进行更细粒度的定制。每个组件的样式都有一组内置的自定义属性(css变量)可以被覆盖。这些变量可以从浏览器的检查器中查看。以下过程将演示更新组件样式的步骤。使用浏览器的检查器工具找到组件的选择器。使用检查器查看组件的标记和可用变量。在您选择的文件中编写自定义SCSS(必须通过标准Angular/SCSS构建包含在构建中)。自定义样式必须遵循这些规则。引用组件是通过它们的选择器完成的,例如cx-product-images它必须覆盖默认类和规则规则可以通过css变量自定义以下示例代码演示了产品图像组件中thumb的配置。默认值::hos??t{显示:flex;flex-direction:var(--cx-flex-direction,column);}.thumbs{display:flex;证明内容:flex-start;[...]}自定义:cx-product-images{--cx-flex-direction:row-reverse;证明内容:flex-end;.thumbs{flex-direction:column;}}自定义SCSS可以直接写入应用程序的样式.scss文件或应用程序包含的任何其他样式表。来自自定义SCSS的规则不会覆盖默认规则。可以使用自定义属性覆盖Spartacus中已经存在的规则。例如,以下是Spartacus标准规则:cx-cart{.container{margin:var(--cx-margin,0);}}下面的代码不会修改margin属性,但是会改变显示效果。cx-cart{.container{显示:内联块;边距:010px;}}以下代码将覆盖margin和display属性:cx-cart{.container{display:inline-block;--cx-margin:010px;}}
