CSS更改自定义组的用户名颜色,有时有效有时无效?

我不确定具体是什么原因,但我使用的任何 CSS 代码似乎都会随机启用和禁用。我不知道这是否是由于更新、某些设置等原因……

我使用时间最长的是

.topic-post .Veeps a {
color: #66FF00;
}

其中“Veeps”是我的自定义组。它在昨天或前天还在工作,但我今天注意到,除了特定用户名的颜色外,所有颜色都恢复为默认值,在所有主题上都是如此。我创建了一个新主题并删除了所有修改,结果发现根本没有任何效果。对于预设组,如“admin”、“staff”和“moderator”,它工作得很好,但我无法为自定义组触发任何效果。我已确保它设置为主要组,让它成为他们唯一的组,并在不同的自定义组(“Owner”)上进行了尝试,但都没有成功。现在,如果我将其应用于特定用户名,它工作正常,但为个人创建 100 个单独的条目很麻烦,如果他们的组发生变化,这些条目也不会更新。

span.username.staff a {
      color: #00A9DB;
}

工作正常,但同样不适用于自定义组。我知道曾经可以使自定义组生效,因为多年来它对许多组都有效(除了它失效的时候)。是否有更好的 CSS 可以使用,或者我无意中弄乱了什么设置?

我安装了 https://github.com/discourse/discourse-groups-css-classes-in-body,现在我得到了

div.topic-post.group-Veeps div.names span.username a {
  color: #8A2BE2;
}

能够按我想要的方式工作,但我过去几年没有安装过这个(或使用过这个 CSS),所以它无助于我理解具体是什么停止工作/需要修复,只是用钻头敲钉子。

2 个赞

你好,

昨天有一个更改 https://github.com/discourse/discourse/commit/b1e08364ef04e8befcf0c7357cd586f72cc376b2,所以现在你必须在 CSS 中为组名添加 group-- 前缀。例如:.group--Veeps

5 个赞

是的,很抱歉给您带来不便,但之前我们添加组类名的方式很容易出错……这意味着任何碰巧与我们 CSS 中的类名匹配的组名都会导致布局问题。

例如,一个名为“hidden”的组会添加类名 .hidden,这将隐藏用户名。添加 group-- 前缀可以避免此问题,并且将来无需再次更改。因此,您只需将 .Veeps 更新为 .group--veeps 即可。

6 个赞

感谢告知,我感觉不那么蠢了,因为我尝试修复某个东西时却弄坏了另一个东西,这种情况很常见!我尝试了几种不同的情况,它们都运行正常,并且我能够根据这些信息解决了问题。

是否仍然需要使用 GitHub - discourse/discourse-groups-css-classes-in-body 来以这种方式使用自定义主要组,或者是不必要的?我可能一开始就误解了该插件的用途,并且它对我正在做的事情来说从来都不是必需的;我只是从我的测试主题中删除了它,看看自定义主要组代码是否仍然触发,它们确实触发了,所以看起来它是不需要的……但我宁愿确定,然后再关闭它,以免将来出现意外情况。

2 个赞

主组(primary groups)在没有它(theme component)的情况下也存在,因此可以使用 CSS 来定位。安装主题组件后,您还可以定位非主组(non-primary groups)。:+1:

2 个赞

我不太明白该使用哪个代码,也许翻译有些脱离上下文了

所以,我用这个代码代替了

div.topic-post.group-Veeps div.names span.username a {
  color: #8A2BE2;
}

我使用了这个

div.topic-post.group-- Veeps div.names span.username a {
  color: #8A2BE2;
}

我不明白代码中应该填入什么?只是 --

@Kartoon @Don @awesomerobot

您好,

它应该像这样工作 :arrow_down_small:

.names span {
  &.group--GroupName a {
    color: red;
  }
}

但我现在为此制作了一个快速主题组件。 :slightly_smiling_face:

您可以在此处进行设置。

groupname;color

7 个赞

我可能不是最好的求助对象,因为我可以让事情运转起来,但不一定能解释原因。但目前我正在使用并且运行良好的方法是:

.topic-post.group-Veeps div.names span.username a {
   color: #66FF00;
 }

显然,将“Veeps”替换为您拥有的任何用户组,这只是我的用户组名称。

.names span {
  &.group--Veeps a {
    color: red;
  }
}

如上所述,这也有效,我只是将其替换为我已有的内容。无论如何,我可能会安装他刚刚发布的插件以方便使用。

1 个赞

我也遇到了同样的问题,我不知道哪里出了问题,令人惊讶的是,即使使用了competent主题或代码,成员的名字颜色也没有改变,我甚至在没有任何CSS或更改的原始主题中使用了cogido和component主题,但对标题的颜色没有任何改变。

我刚注意到一个有趣的事情,如果我将某人设置为群组的所有者,更改代码就会起作用,并且我设置为所有者的成员的名字颜色会改变,但不是所有者的成员则不会改变。

@Kartoon @Don @xebiyen