Un recente aggiornamento ha rotto la mia barra di navigazione superiore: più precisamente, la barra si carica (è visibile per un istante), ma poi l’intestazione standard di Discourse si sovrappone e la nasconde.
Sto cercando di capire esattamente cosa sia successo e/o come risolverlo. Qualcuno potrebbe indicarmi la strada giusta?
Ispezionando la pagina nel browser, ho scoperto che impostando
.d-header-wrap {
margin-top: 48px;
}
sposta l’intestazione verso il basso per rivelare la barra di navigazione (che è alta 48 px), e sembra aver risolto il problema.
Ma non sono sicuro che questa sia una soluzione sostenibile e sono anche curioso di sapere esattamente cosa sia successo.
dal mio componente per eliminare lo spazio bianco aggiuntivo apparso sotto l’intestazione. Questo codice ha funzionato perfettamente per anni, quindi sono curioso di sapere cosa abbia causato la rottura…
La modifica risolve alcuni piccoli problemi che abbiamo avuto con l’intestazione fin dall’esistenza di Discourse… dal punto di vista funzionale, significa che invece di essere in una posizione fissa (e non correlata alla posizione di altri elementi nella pagina), l’intestazione fa ora parte del flusso naturale degli elementi della pagina… ed è per questo che non sono più necessari il padding e il margine dell’outlet principale.
Quando la modifica è stata inizialmente applicata, c’era un padding extra su mobile nel CSS predefinito, ma è stato corretto un giorno o due dopo… immagino che tu abbia aggiornato il sito nel giorno intercorrente tra la modifica iniziale e la correzione; se aggiorni di nuovo, il problema dovrebbe risolversi (in alternativa puoi aggiungere .mobile-view #main-outlet { padding-top: 0.25em; } se non vuoi effettuare un altro aggiornamento).
La tua soluzione con .d-header-wrap mi sembra sostenibile.
Vedi anche Header Submenus - #103 by Mark_Schmucker. Non sono sicuro che la soluzione sostenibile proposta si applichi a quel caso, ma credo che siano collegati allo stesso cambiamento.
Ho appena aggiornato all’ultima versione (2.8.0.beta4) dopo molti mesi di negligenza e sembra che la mia correzione non fosse così sostenibile (o forse il problema attuale non è correlato a questa correzione). Sto attualmente lavorando per capire cosa è successo e aggiornerò qui non appena avrò informazioni, ma se quanto segue risuona per qualcuno, fatemelo sapere.
Quindi, fondamentalmente, ciò che è successo è lo stesso descritto nell’OP, tranne che questa volta non è l’intestazione di Discourse a coprire la barra di navigazione superiore ma è la barra di navigazione superiore a coprire l’intestazione di Discourse . (modifica: ora credo che l’intestazione non sia coperta, ma non venga affatto renderizzata). Quando disattivo il tema predefinito tramite la modalità sicura, viene visualizzato correttamente.
Stranamente, però, quando navigo su /admin/customize/themes/11/desktop/scss/edit, sia l’intestazione di Discourse che la barra di navigazione superiore vengono visualizzate correttamente (sia in modalità sicura che in modalità normale). Credo che la ragione per cui non c’è differenza tra la modalità sicura e quella normale sulla pagina del tema sia che la modalità sicura non si applica ad alcune pagine di amministrazione. Ma ciò che non capisco è perché tutto venga visualizzato correttamente nelle pagine di amministrazione ma non altrove.
Un’altra cosa che non capisco: quando accedo al sito dal mio dispositivo mobile, viene visualizzato correttamente, anche quando richiedo esplicitamente la versione desktop…
Continuerò le indagini, ma apprezzerei eventuali suggerimenti qui.
Modifica: ecco cosa vedo quando ispeziono una pagina pubblica (in modalità normale):