|
Spartacus 項(xiàng)目的 angular.json 的
build 里也同樣沒有:
這個(gè)
這個(gè)
style library 名稱:
作為
全部?jī)?nèi)容可以被其他 project 采用
Configuring stylingSpartacus 提供了兩種樣式自定義方法。首先,可以通過提供自定義主題來更改站點(diǎn)的全局外觀。其次,Spartacus 提供了一種稱為靈活樣式, themingSpartacus 中的主題是指網(wǎng)站的全局外觀。這包括(但不限于)顏色、字體和字體大小。通過重新設(shè)置 Spartacus 的主題,可以創(chuàng)建一個(gè)具有您自己的自定義品牌和身份的網(wǎng)站。 Spartacus 在 @spartacus/styles 包中提供了一個(gè)名為 Sparta 的默認(rèn)樣式庫。這個(gè)包應(yīng)該通過 如下圖所示:
有三種可能的方式來個(gè)性化 Spartacus 的主題。 覆蓋全局變量默認(rèn)的 Sparta 主題提供了大量的變量,可以覆蓋這些變量來自定義主題。這些變量包含在@spartacus/styles/scss/theme/sparta/_variables 中。為了給 scss 變量分配一個(gè)新值,變量中的值必須在庫導(dǎo)入之前重新分配。
例子: $primary: #e502bf$font-weight-normal: 500;@import '~@spartacus/styles/index'; Extending Sparta theme當(dāng)變量沒有提供足夠的配置選項(xiàng)但您希望重用 Sparta 的某些樣式時(shí),擴(kuò)展 Sparta 主題很有用。 可以通過創(chuàng)建新庫并導(dǎo)入默認(rèn)主題來擴(kuò)展庫。 具體步驟如下: 創(chuàng)建一個(gè)新的 theme library:
然后在里面導(dǎo)入 default theme: @import '~@spartacus/styles/index';// Custom Style or imports from other files 最后,在項(xiàng)目的 @import 'custom-styles/index.scss'; 另一種方法是創(chuàng)建一個(gè)新庫,并在默認(rèn)主題之后導(dǎo)入到項(xiàng)目中。 @import '~@spartacus/styles/index';@import 'custom-styles/index.scss'; Creating a brand new theme library這種方式的主題覆蓋是完全省略默認(rèn)樣式導(dǎo)入。 因此,必須復(fù)制 Sparta 中存在的所有類和變量(可以修改),或者必須從項(xiàng)目中刪除它們的使用。 Flexible styling對(duì)于更細(xì)粒度的定制,可以直接影響每個(gè)組件的樣式。 每個(gè)組件的樣式中內(nèi)置了一組可以被覆蓋的自定義屬性(css 變量)。 這些變量可以從瀏覽器的檢查器中查看。 以下過程將演示更新組件樣式的步驟。
以下示例代碼演示了 默認(rèn): :host {
display: flex;
flex-direction: var(--cx-flex-direction, column);}.thumbs {
display: flex;
justify-content: flex-start;
[...]}自定義: cx-product-images {
--cx-flex-direction: row-reverse;
justify-content: flex-end;
.thumbs {
flex-direction: column;
}}可以將自定義 SCSS 直接寫入應(yīng)用程序的 style.scss 文件或應(yīng)用程序中包含的任何其他樣式表中。 來自自定義 SCSS 的規(guī)則 例如下面是 Spartacus 標(biāo)準(zhǔn)的 rule: cx-cart {
.container {
margin: var(--cx-margin, 0);
}}以下代碼不會(huì)修改 cx-cart {
.container {
display: inline-block;
margin: 0 10px;
}}下列代碼會(huì)同時(shí)覆蓋 cx-cart {
.container {
display: inline-block;
--cx-margin: 0 10px;
}} |
|
|