Skip to main content
当内置的设计设置无法满足需求时,可以添加你自己的自定义 CSS 来为购物车设置样式。

在哪里添加

在购物车编辑器中,打开 Cart settings → Custom CSS。你的 CSS 应用于整个购物车,并在购物车的基础样式之后加载,因此你的规则具有更高优先级。

只针对公共类名

请使用购物车的公共 cart-external-* 类名来设置样式。编辑器会自动补全这些类名,并对其他类名发出警告:
  • cart-external-*:公共的、受支持的目标。请使用这些。它们本身不携带任何样式,纯粹是为你的 CSS 提供挂载点。
  • cart-internal-*:购物车自身的内部结构,其所有内置样式都在这里。编辑器会将针对它们的选择器标记为错误。由于所有现有购物车都依赖它们,它们不会被随意变动,但它们属于购物车可自行更改的部分,而不是对你的承诺。请改用对应的 cart-external-* 类名来调整样式。
  • 编辑器无法识别的其他 cart-* 类名会被标记为警告。
你会在标记中看到 cart-internal-* 类名,包括每个区块的默认自定义模板中。这是正常的:它们正是区块内置外观的来源。这里的规则针对的是你在此面板中编写的选择器,而不是购物车渲染的类名。如果你正在编写会更改区块 DOM 结构的自定义模板,请参阅为自定义模板设置样式,了解哪些类名应保留、哪些应去掉。

Shadow DOM:购物车是自包含的

在店面上,整个购物车在其自己的 shadow DOM 中渲染。这意味着:
  • 你主题的 CSS 无法渗入购物车,购物车的 CSS 也不会泄漏到外部,因此你的自定义 CSS 自动限定在购物车范围内,不会与网站的其他部分冲突。
  • 你的选择器应引用购物车内部的元素和类名。针对购物车之外页面元素的选择器无法作用到内部。
同样的边界也适用于 JavaScript:document.querySelector 也无法看到抽屉内部。要访问购物车元素的脚本必须通过 shadowRoot,并且同样以这些 cart-external-* 类名为目标。

何时改用设计设置

对于颜色、圆角、间距和宽度,内置的设计设置更简单、更安全,因此只有在它们无法覆盖的情况下才使用自定义 CSS。

下一步

  • 设计设置:内置的样式控件,也是首先应该尝试的。
  • 自定义模板:当仅靠 CSS 无法实现时,完全替换区块的标记。
  • Cart SDK:用于行为而非外观。