Atualizei o Discourse há dois dias para a versão 2.7.0beta4 e comecei a notar uma mudança no comportamento do CSS personalizado. Antes, eu tinha o seguinte código CSS (simplificado) para ocultar certas tags de usuários que não são membros da equipe:
:not(.staff){
.topic-list{
.category-marketplace{
a[data-tag-name="wagon"]
{
display: none!important;
}
}
}
}
Recentemente, notei que as tags também estão sendo ocultadas dos membros da equipe. Gostaria de saber se isso tem a ver com a atualização. Se sim, como posso fazer o ajuste? Obrigado!
1 curtida
Isso ainda deve funcionar. Testei no meu site de desenvolvimento e está funcionando como esperado… é o único CSS que parou de funcionar?
4 curtidas
Sim, isso é a única coisa que notei que está se comportando de forma diferente. Não tenho certeza do motivo pelo qual os tags estão sendo ocultados da equipe, já que consigo ver claramente <body class="staff navigation-categories categories-list"> quando visito meu site como membro da equipe.
1 curtida
Não, não tenho. Tentei reescrever o código CSS de algumas formas (por exemplo, html:not(.staff), body:not(.staff) ou agrupando os elementos em uma única linha), mas o código ainda oculta os elementos selecionados para a equipe.
1 curtida
Hmm… você pode tentar colocar este CSS no final do arquivo que contém seu outro CSS? Estou me perguntando se há algum conflito com outro CSS em algum lugar, e isso poderia confirmar.
body:not(.staff) .topic-list-item a[data-tag-name="wagon"] {
display: none !important;
}
Se você tiver um site público, sinta-se à vontade para postar o link aqui também, e posso dar uma olhada mais de perto para ver se há algo óbvio.
2 curtidas
Obrigado! O site é: Marketplace - Leasehackr Forum
Basicamente, eu queria que certas tags dentro da categoria Marketplace e suas subcategorias ficassem ocultas para quem não é staff.
Obrigado por verificar isso!
1 curtida
Desculpe pela resposta atrasada. Você conseguiu descobrir qual era o problema? Notei que certas tags estão ocultas para quem não é da equipe ao visualizar seu site agora.
Ainda não encontrei uma solução. As tags continuam ocultas para .staff, além dos não membros da equipe. Obrigado!
Acho que podem haver dois problemas aqui. O primeiro é que você deve adicionar body antes de :not; caso contrário, :not pode corresponder a qualquer div sem a classe.
O segundo problema é que esses estilos estão entrando em conflito:
:not(.staff) .topic-list .category-marketplace a[data-tag-name="wagon"] {
display: none !important;
}
:not(.primary-group-dealers) .topic-list .category-marketplace a[data-tag-name="wagon"] {
display: none !important;
}
:not(.primary-group-brokers) .topic-list .category-marketplace a[data-tag-name="wagon"] {
display: none !important;
}
O primeiro estilo ocultará a tag “wagon” se você não for membro da equipe… mas o segundo e o terceiro estilos ocultarão a tag “wagon” se seu grupo principal também não for de “dealers” ou “brokers”. Você precisaria ser os três para evitar o display: none;.
Acho que, em vez disso, você gostaria de combinar os três assim:
body:not(.staff):not(.primary-group-dealers):not(.primary-group-brokers) .topic-list .category-marketplace a[data-tag-name="wagon"] {
display: none;
}
A primeira maneira, com os três estilos separados, atua como um “não e”:
não staff e primary-group-dealers e primary-group-brokers
A segunda maneira, com os :not encadeados, atua como um “ou”:
não staff ou primary-group-dealers ou primary-group-brokers
4 curtidas
Isso resolve o problema! Muito obrigado!
1 curtida