Tenho um componente de tema que está alterando o logotipo do site com base na categoria em que o usuário está e adicionando logotipos às categorias na barra lateral, e agora eles querem mudar para um logotipo diferente no modo escuro.
Eu sou péssimo em CSS, mas pareceria muito mais fácil se houvesse uma classe “isto-é-modo-escuro”. Ou talvez algo como o acima possa funcionar.
Ou talvez se isso fosse um “verdadeiro” componente de tema com configurações (agora está apenas codificado manualmente como acima), então seria fácil o suficiente colocar essas configurações no CSS. Isso parece o que eu deveria fazer de qualquer maneira, certo?
Faz sentido. Tive o mesmo problema uma vez, mas @david, isso teria funcionado para mim.
Além disso, as dificuldades na concessão de distintivos seriam consideradas um bug ou outra coisa?
Pode ser um bug, mas precisaríamos de mais detalhes para saber um jeito ou de outro — também é irrelevante para este tópico, então o melhor seria procurar pelo problema e, se não encontrar uma resposta, iniciar um novo tópico detalhando o que você está tentando e onde está falhando.
Uma solução puramente em CSS provavelmente usaria a variável CSS --scheme-type, ou até mesmo a propriedade color-scheme que foi adicionada há algumas horas (oba!), com @container style queries ou light-dark().
Infelizmente, light-dark() só funciona com valores de cor. Você pode tentar usar @container style queries visando a propriedade color-scheme (o Firefox ainda não suporta style queries para propriedades personalizadas). Não consegui testar a ideia, pois meu ambiente de desenvolvimento está fora do ar no momento.
Ter uma classe dedicada .dark-mode ou .light-mode na raiz seria definitivamente o mais fácil de trabalhar.