标题栏的布局已从 position: fixed 改为 position: sticky(https://github.com/discourse/discourse/commit/da5841de0b2b60ceaa2f2602d7231e7393a74e66)。这是我们自放弃支持 IE11 后能够实施的一项更新。
这一改动解决了 Discourse 自诞生以来标题栏存在的一些小问题。从功能上讲,标题栏不再处于固定位置(与页面其他元素的位置无关),而是融入了页面元素的自然流中。正因如此,主内容区域(main outlet)的填充(padding)和边距(margin)已不再需要。
在最初实施该改动时,默认 CSS 在移动端存在一些额外的填充,但在一两天后已修复。我猜您可能是在初始改动与修复之间的某一天进行了更新;如果您再次更新,该问题应该会消失。如果您不想再次更新,也可以手动添加以下规则:.mobile-view #main-outlet { padding-top: 0.25em; }。
您使用 .d-header-wrap 的修复方案在我看来是可持续的。