¿Cómo cambiar un elemento CSS según el modo oscuro o claro?

No pareció que encontrara una respuesta definitiva al buscar, pero quiero cambiar un elemento CSS de una manera para oscuro y de otra para claro.

¿Cuál es la mejor manera de lograr esto en Discourse?

1 me gusta

Sospecho que este tema puede ayudarte.

No creo que pueda editar color_definitions.css ya que soy un cliente empresarial que CDCK está alojando. Supongo que tendré que contactarlos al respecto entonces.

¡Gracias, Lilly!

2 Me gusta

creo que puedes anularlo con tu propio CSS en otro tema o componente no estoy seguro de cómo funciona esto, así que voy a experimentar con él hoy y ver si puedo crear una condición CSS de modo oscuro/claro. Siento que esto debería ser posible.

1 me gusta

¿qué elemento CSS quieres cambiar según el modo oscuro/claro?

puedes añadir definiciones de color a la pestaña de definiciones de color de la edición CSS/HTML de un tema (hoja de estilos color_definitions).

¡Disculpa la demora en responder! Estaba buscando cambiar el color de la barra resaltada* en la parte superior de una publicación de respuesta experta en un tema, pero quería resaltar la barra con un color diferente para el tema claro y oscuro.

1 me gusta

¿No estoy seguro de lo que quieres decir? ¿Puedes proporcionar una captura de pantalla?

Resaltado** ¡perdón, error de escritura en el móvil!

1 me gusta

Me encantaría que me demostraran que me equivoco, pero creo que no hay una forma fiable de comprobarlo con CSS.

@sp-jordan-violet, normalmente la forma de hacerlo es usar variables de color de tus esquemas de color oscuro y claro. Puedes comprobar tus valores actuales usando el inspector del navegador. Creo que no puedes añadir nuevas variables que cambien según el esquema de color. Pero hay bastantes variables para elegir y puedes usarlas en cualquier declaración personalizada. Por ejemplo:

.topic-avatar {
  height: unset;
  align-self: stretch;
  background-image: linear-gradient(
      to right,
      transparent -40%,
      var(--secondary) 80%
    ),
    linear-gradient(
      to bottom,
      var(--tertiary-300) 0%,
      var(--highlight) 50%,
      var(--quaternary-low) 100%
    );
}

podría darte un resaltado de publicación como este :rainbow: :slight_smile:

2 Me gusta

sí, tiendo a estar de acuerdo. También he estado experimentando con una solución de JavaScript / CSS, pero aún no funciona nada.

1 me gusta

¡Guau, me gusta mucho esta idea!

2 Me gusta

Eso se ve muy bien. Bien hecho :slight_smile:

1 me gusta