Hola. ¿Cómo puedo ocultar un botón (en realidad es un icono SVG que enlaza a algo), pero solo cuando alguien ha iniciado sesión en una cuenta?
Podrías usar la clase .anon y hacerlo de forma similar a esto:
Tienes una clase anon adjunta a la etiqueta <html>.
Así que puedes usarlo como:
html:not(.anon) .your_svg_selector {
display: none;
}
@omarfilis @Arkshine ¿Y esto hará que este icono solo se oculte a los usuarios registrados? Además, ¿dónde está exactamente esa clase anónima? No parece que pueda encontrarla.
Ah, lo siento, querías lo contrario, así que: not(.anon)
Jaja, yo también lo leí mal, ¡mis disculpas!
Vaya, ¿así que tiene que añadirse manualmente de alguna manera? El mío solo tiene:
class="desktop-view not-mobile-device text-size-normal no-touch discourse-no-touch"
No hay nada que añadir. Discourse aplica automáticamente una clase “anon” si no has iniciado sesión. Así que puedes tener CSS diciendo: “Si la clase anon no está presente…”.
Todo este es el código que enlaza con el icono que quiero ocultar. ¿Qué parte de aquí es el “selector”? ![]()
Sí, necesitarás personalizar el CSS de tu sitio:
@45thj5ej .header-icon-login .d-icon-user debería estar bien.
Ok, genial, ¿y simplemente coloco esto en mi código CSS?
HTML:not(.anon) .header-icon-login .d-icon-user {
display: none;
}
html:not(.anon) .header-icon-login .d-icon-user {
display: none;
}
Puedes ponerlo en tu CSS temático (si está disponible) o, mejor aún, en un componente CSS temático adjunto a tu tema.
Ah, genial. Funcionó, pero cuando se oculta, no desliza el icono a su izquierda, por lo que queda un espacio extraño. ¿Hay alguna forma de hacerlo sin el espacio, pero sin cambiar el orden de los iconos?

Inténtalo, para incluir el <li>.
html:not(.anon) .header-icon-login {
display: none;
}
Tío, muchas gracias. ![]()
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.

