Come cambiare il colore dell'icona dell'intestazione?

Questo è attualmente l’aspetto del nostro forum…

Stiamo per rinnovare la nostra palette di colori. L’intestazione diventerà verde con un logo bianco.

Ho difficoltà a capire come cambiare i colori della lente d’ingrandimento e dell’icona del menu hamburger nell’intestazione. Attualmente sono grigie, il che risulterebbe pessimo su uno sfondo verde. Le icone bianche si abbinerebbero anche al nuovo logo dell’intestazione.

Ho controllato nel menu del tema e ho visto un’opzione chiamata “header primary”, che nella descrizione indica che modifica testo e icone nell’intestazione del sito. Tuttavia, l’ho già impostata su bianco e non è cambiato nulla. Esiste un altro modo per cambiare il colore di queste due icone?

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;
}

Ehi, qualcosa è cambiato dalla tua suggerimento. Non sono sicuro del motivo, ma anche per me non funziona. Il foglio di stile CSS è così:

    .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;
    }

Le icone e l’effetto hover appaiono così—qualsiasi colore imposti per le icone o per l’hover, non viene applicato:

Quando ispeziono l’elemento vedo che lo stile è presente, ma per qualche motivo non viene ereditato. Hai qualche idea?

Ho installato le intestazioni personalizzate, ma questo non dovrebbe cambiare nulla, vero?

Grazie mille

Aggiornamento: il seguente codice funziona e @tophee questo dovrebbe risolvere anche il tuo:

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

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

Grazie per il codice.

Pubblico questo nel caso in cui qualcuno incontri lo stesso problema che ho incontrato io. A seconda della combinazione di colori che stai utilizzando per l’intestazione e le tue icone (la mia intestazione è di un colore scuro), con il codice che hai fornito ottenevo le combinazioni di colori giuste per le mie icone:

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

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

Tuttavia, ogni volta che cliccavo sulle icone dell’intestazione e uscivo dall’effetto hover, lo sfondo tornava a un bianco solido, il che non funzionava poiché la mia intestazione è scura e le mie icone sono impostate su bianco. Quindi, uscendo dall’effetto hover (dopo un clic), apparivano come un rettangolo bianco solido. Per risolvere il problema, ho dovuto impostare anche lo stato per “a”, non solo per “a:hover” come nei post precedenti (#93bb54 è lo stesso colore della mia intestazione):

.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;
}

Ecco fatto!

Ehi @awesomerobot, perché questo

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

non funziona su altre icone come l’icona della busta in una conversazione, che è anch’essa d-icon se ispeziono l’elemento?

Screen Shot 2019-12-18 at 13.41.50

.d-header-icons si riferisce specificamente alla navigazione sulla destra.

Per l’icona del titolo del messaggio privato, avrai bisogno di

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

Per altri stati dei topic, come i topic fissati e bloccati, puoi usare

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

Ho aggiunto alcune icone personalizzate in SVG, ma non riesco a cambiarne il colore tramite CSS. Rimangono sempre nere. Posso modificare l’opacità, le dimensioni… ma mai il colore.

Ho provato a usare gli esempi sopra riportati, ma nessuno ha restituito il risultato atteso.

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

image

Ho provato anche per le icone dell’intestazione.

Cosa sto facendo di sbagliato?

L’icona ha un colore definito inline nel codice SVG? Probabilmente apparirebbe in questo modo:

Screen Shot 2020-01-06 at 11.09.59 AM

In tal caso, puoi rimuoverlo oppure cambiare il valore in currentColor.

Ciao a tutti,
ho un problema quando:

  1. Clicco sul menu (fino a qui sembra tutto ok)
  2. Quando allontano il mouse, vorrei che l’icona cambiasse colore esattamente come lo sfondo, perché l’icona viene nascosta dal bianco:

Prova:

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

Come posso modificare il CSS per un’icona specifica?

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

Questa è l’icona a cui sto cercando di applicare il CSS

Eccolo qui, @Juless

Questo tipo di selettori CSS molto specifici dovrebbe funzionare, ma è raramente utilizzato perché di solito non è necessario essere così specifici:

svg.fa.d-icon.d-icon-bolt.svg-icon.svg-node{
  /* il tuo fantastico CSS qui */
}

Tuttavia, nella pratica, questo selettore semplice dovrebbe funzionare bene:

svg.d-icon-bolt{
   /* il tuo fantastico CSS qui */
}

Spero che questo ti sia d’aiuto.

Potresti anche “farcela” con questo:

.d-icon-bolt{
   /* il tuo fantastico CSS qui */
}

Ho usato questo e ha funzionato alla perfezione. Grazie @neounix, davvero utile.

Ho la stessa situazione di Sentinelrv. Ho impostato header_primary su bianco e ho anche applicato il CSS personalizzato consigliato a ciascuno dei miei temi, ma la lente d’ingrandimento e il menu hamburger rimangono ancora grigi.

Anche io non riesco a cambiare i colori del menu hamburger/barra, l’icona di ricerca/trova è cambiata - ho provato tutti i suggerimenti menzionati e altro ancora ispezionando gli elementi nel browser web ma (non essendo uno sviluppatore web) ho fallito. Qualcuno ha capito come fare?

Per le icone dell’intestazione sul lato destro, nel file common-css di un tema o componente del tema:

.d-header .d-header-icons .d-icon  {
    color: <colore icone intestazione> !important;
    &:hover {
        color: <colore hover icone intestazione> !important;
    }
 }

Per l’icona hamburger in modalità menu laterale:

.d-header .header-sidebar-toggle button .d-icon {
    color: <colore icona hamburger> !important;
    &:hover {
        color: <colore hover icona hamburger> !important;
    }
}

<colore icone intestazione>, <colore icone hamburger>, <colore hover icona intestazione>, <colore hover icona hamburger> = esadecimale, nome colore o variabili colore del tema. Puoi anche specificare background-color se desideri cambiare il colore di sfondo dell’icona.

Nota: se stai utilizzando la modalità a discesa hamburger anziché quella laterale, il primo snippet per le icone dell’intestazione sul lato destro includerà anche l’icona hamburger.