如何自定义类似亚马逊的版块外观?

大家好!

我最近安装了 Discourse,想要自定义界面外观。

但我不知道如何选择带有缩进的版块组以与其他版块区分,也不知道如何在单列中创建子版块列表。

我查看了管理面板中的设置,但没找到任何类似的功能能帮助我。

如有任何帮助,我将不胜感激。
我刚开始学习这个平台。

谢谢!

例如,要将子部分列表改为单列,我需要修改这里的值(category-list.scss)

改为这些值

但我该如何通过管理面板正确地完成此操作,而无需直接修改服务器上的文件呢?

display: block;
align-items: baseline;
margin-right: 0;

1 个赞

我的理解是否正确——应该这样做?
这是解决该问题的正确方法吗?

这是子类别的默认 CSS。只需在类别编辑对话框中指定“父类别”,并将子类别和父类别设置为相同的颜色即可。

1 个赞

我不太明白颜色与此有何关系。
默认情况下,子类别的显示方式如下:一个接一个,水平排列。

应用我上面指定的 CSS 后,子部分按我期望的方式垂直排列。

我只是想确认一下:以我所述的方式通过管理面板添加 CSS,这是否正确?

第二个主要问题是:如何使各个部分之间像亚马逊论坛截图示例那样通过缩进分隔开?

1 个赞

啊,我明白了。

正确的做法是将这段 CSS 放入一个主题组件中,这与您当前的操作仅 略有 不同!

如果您编辑的是浅色主题,这些更改不会在深色主题中显示。

请为您的站点的所有本地自定义创建一个统一的主题组件!

4 个赞

感谢您的建议,关于将其作为组件分配更为合适。

如果以具体示例 Amazon 来说,这不仅仅涉及 CSS,其标记(HTML)也与标准标记不同。

如何快速实现相同的显示效果?

遗憾的是,我对布局的了解较为浅显,我是一名后端开发者,因此布局对我来说颇具难度。

我能否在不修改源文件代码的情况下迁移此布局?

我浏览了许多现成的主题,但它们大多彼此相似,却找不到像亚马逊那样简洁的。或许我们可以和社区一起动手制作?在版块之间增加缩进,看起来会更加简洁。

他们的标记之所以部分不同,是因为他们似乎已经很久没有更新网站了。

添加以下 CSS 可以在子类别样式方面取得大部分进展……

.category-list .subcategories .subcategory {
  display: flex;
}

如果你想进行标记更改,就需要研究 Discourse 中的模板覆盖机制……这可以在 Discourse 主题开发者指南 的高级部分找到。