¿Cómo cambiar el color del icono del encabezado?

Esto es lo que actualmente se ve nuestro foro…

Vamos a renovar nuestra paleta de colores. El encabezado será verde con un logotipo blanco.

Tengo dificultades para saber cómo cambiar los colores de la lupa y del icono de menú hamburguesa en el encabezado. Actualmente son grises, lo cual se verá terrible sobre un encabezado verde. Los iconos blancos también combinarán con el nuevo logotipo del encabezado.

He revisado el menú de temas y veo una opción llamada “encabezado principal”, que indica en su descripción que cambia el texto y los iconos del encabezado del sitio. Sin embargo, ya lo he configurado en blanco y nada ha cambiado. ¿Hay otra forma de cambiar el color de estos dos iconos?

The icons are a bit transparent, which might be throwing you off (that’s why they look grey instead of white when the header_primary color is set to white).

You can add some custom CSS to change this

.d-header-icons .icon {
  color: red; // custom color, if needed
  &.btn-flat .d-icon {
    opacity: 1; // remove transparency 
   }
}

Hi,

I have this CSS:

header{
    
    height: auto !important;
    
    .wrap{
        padding:14px 0;
    }
    
    .btn-flat .d-icon{
        opacity: 1 !important;
    }
    
    .d-header-icons .icon{
        color: #ffffff;
        padding: 0.4em;
    }
    
    .d-header-icons .icon:hover{
        background-color: #ffffff;
        opacity: 1 !important;
        color: #001d4d;
    }

However, perhaps as we are now on one of the latest releases, now the home, search, and menu icons are greyed out. Can you explain how to make these icons white with opacity of 1? Did any of the selectors change?

Yes, these selectors are a little more specific now and we removed the opacity entirely in favor of using a solid color (there was a bug in Safari where SVG icons were clipped slightly because of the opacity).

You can remove anything you have related to opacity, and do this

.d-header-icons .d-icon {
   color: #fff; 
}

.d-header-icons .d-icon:hover {
   background-color: #fff; 
   color: #001d4d;
}

I have a similar problem as the OP, probably somewhat simpler: For some reason the colour of the header icons got darker for no apparent reason (I assume it was related to the tidy-up measures on your side). Since my header is a darkish, I want the icons brighter.

I tried this

and am happy with the result. But I can’t seem to figure out how the hover settings work. With only the above css, my hover looks like this:

image

So the icon turns grey again, which is okay, but I’d like to try some other tints on it. The background seems to turn white (or almost white), which I would like to change to make it coherent with other menus.

I tried

.d-header-icons .d-icon:hover {
   background-color: #b0cee8; 
   color: #fff;
}

but it gives me this:

image

How do I get the whole box to change color? And I don’t understand why the icon itself doesn’t stay white…

And while I’m at it: My new topic button also suffered. The colour of the + icon is no longer the same as the text:

image

My CSS for the button is (and has always been):

@import "common/foundation/variables";

#create-topic {
    background-color: $tertiary;
    color: $secondary;
}

#create-topic:hover {
    background-color: $tertiary-high;
    color: $secondary;
}

Hey, something has changed since your suggestion. I’m not sure why but this isn’t working for me either. CSS sheet looks like this:

    .custom-header-links a:hover {
    background-color:#346A77;
    }

    .d-header-icons .d-icon {
       color: black; 
    }

    .d-header-icons .d-icon:hover {
       background-color: #346A77; 
       color: red;
    }

The icons and the hover look like this–whatever color I make the icons or the hover it doesn’t “take”:

When I inspect the element it is showing that the style is there, but it’s not cascading for some reason. Any ideas?

image

I have installed custom headers but that wouldn’t be changing anything would it?

Many thanks

Update: the following code works and @tophee this should solve yours too:

.d-header-icons .d-icon {
   color: black !important;
}

.d-header-icons a:hover {
   background-color: #346A77 !important;
}

Thank you for the code.

I’m posting this in case someone runs into the same issue as me, but depending on the combination of colors you are using for your header and your icons (my header is a dark color), I was getting the right color combinations for my icons with the code you provided:

.d-header-icons .d-icon {
color: white !important;
}

.d-header-icons a:hover {
background-color: #789946 !important;
color: white !important;
} 

However, whenever I clicked on the header icons and hovered out of them, the background reverted to a solid white color, which did not work as my header is dark and my icons are set to white. So on hovering out of them (after a click), they would show as a solid white rectangle). To fix this, all I had to do was also set the state for “a”, not just “a:hover” as in the above posts (#93bb54 being the same color as my header):

.d-header-icons .d-icon {
color: white !important;
}

.d-header-icons a:hover {
background-color: #789946 !important;
color: white !important;
} 

.d-header-icons a {
background-color: #93bb54 !important;
color: white !important;
}

Voila!

Hey @awesomerobot, why doesn’t

.d-header-icons .d-icon {
color: white !important;
}

work on other icons like this envelope icon in a conversation, which is also d-icon if I inspect the element?

Screen Shot 2019-12-18 at 13.41.50

.d-header-icons specifically refers to the nav on the right.

For the PM title icon, you’ll need

.extra-info-wrapper .private-message-glyph { color: red }

For other topic statuses, like pins and locked topics you can use

.extra-info-wrapper .topic-statuses .d-icon { color: red; }

I added some custom icons in SVG, but I can’t change their color using CSS. They are always black. I can change the opacity, size … but never the color.

I tried using the above examples, but none returned the expected result.

.list-controls .btn .d-icon{
   color: #2CC3D5 !important;
   opacity: 0.5;
}

image

I tried for the header icons too.

What am i doing wrong?

¿Tiene el icono un color definido en línea en el código SVG? Probablemente se vería algo así:

Screen Shot 2020-01-06 at 11.09.59 AM

En tal caso, puedes eliminarlo o cambiar el valor a currentColor.

Hola a todos,
Tengo un problema cuando:

  1. Hago clic en el menú (hasta aquí se ve genial)
  2. Al mover el ratón fuera, necesito que el icono cambie de color igual que el fondo, ya que el icono queda oculto detrás del blanco:

Prueba:

.drop-down-mode .d-header-icons .active .icon {
    background: black;
}

¿Cómo puedo cambiar el CSS para un icono específico?

<svg class="fa d-icon d-icon-bolt svg-icon svg-node" aria-hidden="true"><use xlink:href="#bolt"></use></svg>

Este es el icono al que estoy intentando aplicar CSS

Aquí tienes, @Juless

Este tipo de selectores CSS tan específicos debería funcionar, pero rara vez se usa porque normalmente no es necesario ser tan específico:

svg.fa.d-icon.d-icon-bolt.svg-icon.svg-node{
  /* tu CSS genial aquí */
}

Sin embargo, en la práctica, este selector simple debería funcionar bien:

svg.d-icon-bolt{
   /* tu CSS genial aquí */
}

Espero que esto ayude.

Incluso podrías “apañártelas” con esto:

.d-icon-bolt{
   /* tu CSS genial aquí */
}

Usé este y funcionó a la perfección. Gracias @neounix, realmente útil.

Tengo la misma situación que Sentinelrv. Ajusté header_primary a blanco y también apliqué el CSS personalizado recomendado a cada uno de mis temas, pero el icono de la lupa y el menú hamburguesa siguen apareciendo en gris.

Yo tampoco puedo cambiar los colores del menú hamburguesa/barra, el icono de búsqueda/buscar sí cambió. He probado todos los consejos mencionados y más, inspeccionando cosas en el navegador web, pero (al no ser un desarrollador web) fallé. ¿Alguien ha resuelto esto?

Para los iconos de la cabecera en el lado derecho, en el CSS común de un tema o componente de tema:

.d-header .d-header-icons .d-icon  {
    color: <color de los iconos de la cabecera> !important;
    &:hover {
        color: <color de los iconos de la cabecera al pasar el ratón por encima> !important;
    }
 }

Para el icono de hamburguesa en el modo de menú de la barra lateral:

.d-header .header-sidebar-toggle button .d-icon {
    color: <color del icono de hamburguesa> !important;
    &:hover {
        color: <color del icono de hamburguesa al pasar el ratón por encima> !important;
    }
}

<color de los iconos de la cabecera>, <color de los iconos de hamburguesa>, <color del icono de la cabecera al pasar el ratón por encima>, <color del icono de hamburguesa al pasar el ratón por encima> = código hexadecimal, nombre de color o variables de color del tema. También puedes especificar background-color si deseas cambiar el color de fondo del icono.

Nota: Si estás utilizando el modo desplegable de hamburguesa en lugar de la barra lateral, el primer fragmento para los iconos de la cabecera del lado derecho también incluirá el icono de hamburguesa.