Una actualización reciente rompió mi barra de navegación superior. Más concretamente, la barra se carga (es visible por un instante), pero luego el encabezado estándar de Discourse se coloca sobre ella y la oculta.
Estoy tratando de averiguar qué sucedió exactamente y/o cómo solucionarlo. ¿Alguien podría orientarme en la dirección correcta?
Al inspeccionar la página en el navegador, descubrí que establecer
.d-header-wrap {
margin-top: 48px;
}
mueve el encabezado hacia abajo para revelar la barra de navegación (que tiene 48 px de altura) y parece haber solucionado el problema.
Pero no estoy seguro de si esta es una forma sostenible de solucionarlo y también sigo con curiosidad por saber qué sucedió exactamente.
de mi componente para eliminar el espacio en blanco adicional que apareció bajo el encabezado. Este código ha funcionado bien durante años, así que me pregunto qué provocó que dejara de funcionar…
El cambio mejora algunos pequeños problemas que hemos tenido con el encabezado desde que existe Discourse… funcionalmente, esto significa que, en lugar de estar en una posición fija (y sin relación con la posición de otros elementos en la página), el encabezado ahora forma parte del flujo natural de los elementos en la página… razón por la cual ya no son necesarios el relleno y el margen del main outlet.
Cuando se realizó el cambio inicialmente, había un relleno extra en la versión móvil en el CSS predeterminado, pero eso se corrigió un día o dos después… supongo que actualizaste el día entre el cambio inicial y la corrección; si vuelves a actualizar, debería desaparecer (alternativamente, puedes agregar .mobile-view #main-outlet { padding-top: 0.25em; } si no deseas actualizar nuevamente).
Tu solución con .d-header-wrap me parece sostenible.
Véase también Header Submenus - #103 by Mark_Schmucker. No estoy seguro de si la solución sostenible propuesta se aplica a eso, pero creo que están relacionados con el mismo cambio.
Acabo de actualizar a la última versión (2.8.0.beta4) tras muchos meses de descuido y parece que mi solución no fue tan sostenible (o quizás el problema actual no está relacionado con esta corrección). Actualmente estoy trabajando para averiguar qué pasó y actualizaré aquí en cuanto lo sepa, pero si lo siguiente les suena a alguien, por favor háganmelo saber.
Básicamente, lo que ocurrió es lo mismo que se describe en el mensaje original, excepto que esta vez no es el encabezado de Discourse cubriendo la barra de navegación superior \u003cstrike\u003e sino la barra de navegación superior cubriendo el encabezado de Discourse \u003c/strike\u003e. (edición: ahora creo que el encabezado no está cubierto, sino que no se renderiza en absoluto). Cuando desactivo el tema predeterminado mediante el modo seguro, se muestra correctamente.
Curiosamente, sin embargo, cuando navego a /admin/customize/themes/11/desktop/scss/edit, tanto el encabezado de Discourse como la barra de navegación superior se muestran correctamente (tanto en modo seguro como en modo normal). Creo que la razón por la que no hay diferencia entre el modo seguro y el normal en la página del tema es que el modo seguro no se aplica a algunas de las páginas de administración. Pero lo que no entiendo es por qué todo se muestra correctamente en las páginas de administración y no en las demás.
Otra cosa que no entiendo: cuando accedo al sitio desde mi dispositivo móvil, también se muestra correctamente, incluso cuando solicito explícitamente la versión de escritorio…
Investigaré más a fondo, pero agradecería cualquier pista aquí.
Edición: Esto es lo que veo al inspeccionar una página pública (en modo normal):