变更内容
不久之后,我们的“顶部菜单”以及类似的导航(有时称为导航胶囊)将在整个 Discourse 中拥有更新、更一致的样式。
顶部菜单
之前:
![]()
之后:
![]()
个人资料菜单
之前:
之后:
为什么会改变?
这使我们能够简化默认 CSS 并移除默认 Discourse 主题中“四级”颜色的使用。多年来,许多主题都使用了这种颜色,因此它仍然可用于自定义 CSS。
默认情况下,这种颜色与“危险红色”非常相似,这使得像突出显示活动过滤器这样的事情变得困难……因为在这种状态下,它看起来像一个错误:
之前:

之后:

如何在主题中更改?
随着这次更新,我们还通过 CSS 自定义属性使在主题中更改这些导航颜色变得更加容易。我们有一些新变量:
:root {
--d-nav-color: var(--primary);
--d-nav-bg-color: transparent;
--d-nav-color--hover: var(--primary);
--d-nav-bg-color--hover: var(--d-hover);
--d-nav-color--active: var(--tertiary);
--d-nav-bg-color--active: transparent;
--d-nav-border-color--active: var(--d-nav-color--active);
--d-nav-underline-height: 0.125em;
}
因此,您无需添加多组自定义 CSS 来更改每个导航实例,而是可以根据需要更改变量。例如:
:root {
--d-nav-color--active: mediumorchid;
}
应用此 CSS 将产生:

这个下划线来自哪里?
您可能会注意到,活动导航项的“下划线”没有使用 border-bottom CSS 属性。而是使用 ::after 伪元素 应用的。
现有主题可能已在使用 border 属性,因此此方法有望使删除我们的下划线变得更容易,如果它与现有样式冲突。要删除:
:root {
--d-nav-underline-height: 0;
}

如果我更喜欢旧样式怎么办?
使用新的 CSS 变量可以很容易地恢复到以前的样式。在您的主题中,您可以应用:
:root {
--d-nav-color--hover: var(--quaternary);
--d-nav-bg-color--hover: var(--quaternary-low);
--d-nav-color--active: var(--secondary);
--d-nav-bg-color--active: var(--quaternary);
--d-nav-border-color--active: var(--primary-medium);
--d-nav-underline-height: 0;
}

如果您只想更改此导航的一个实例,可以将变量更改范围限定为 ID 或类,例如 #navigation-bar 而不是 :root:
#navigation-bar {
--d-nav-color--hover: var(--quaternary);
--d-nav-bg-color--hover: var(--quaternary-low);
--d-nav-color--active: var(--secondary);
--d-nav-bg-color--active: var(--quaternary);
--d-nav-underline-height: 0;
}

另一个例子:
.user-navigation {
--d-nav-bg-color--active: lightcyan;
}

不确定如何更改 CSS?请查看 Making custom CSS changes on your site
目前就这些!一如既往,如果您有任何问题或在此过程中遇到任何问题,请告知我们。 ![]()




