¿Problema con la barra de administración y el encabezado fijo?

19 dic 2011, 21:01:11
Vistas: 36.5K
Votos: 13

He estilizado mi encabezado para que tenga una posición fija en la parte superior. Cuando inicio sesión en WordPress, la barra de navegación del administrador cubre la sección superior de mi encabezado, haciendo imposible acceder a mi navegación superior. Me gustaría que la barra de navegación del administrador empuje mi navegación superior hacia abajo para que ambas sean visibles. ¿Alguien conoce alguna solución para arreglar este problema?

Puedes encontrar un ejemplo de mi problema en... www.nickriversdesign.com/dev

0
Todas las respuestas a la pregunta 9
5
30

Intenta agregar esto a tu archivo CSS:

body.admin-bar #branding-wrap{top: 28px;} 
body.admin-bar #wrapper{margin-top: 145px;}

La declaración body.admin-bar al principio asegurará que estos estilos solo se apliquen cuando la barra de administración esté visible.

20 dic 2011 01:05:06
Comentarios

body.admin-bar es el selector correcto (y por lo tanto la respuesta correcta). La respuesta de Zach L afecta a todos los usuarios conectados, pero solo los usuarios con permisos de edición de contenido tienen la barra de administración visible y necesitan que el encabezado se desplace hacia abajo en la página.

Chris Burgess Chris Burgess
17 jul 2012 14:06:28

interesante... nunca he tenido personalmente una configuración con usuarios sin estos permisos. Imagino que es lo mismo que si en la configuración del usuario deshabilitan la barra de administración.

Zach Lysobey Zach Lysobey
17 jul 2012 18:43:39

Nota de versión: .admin-bar ya no aparece en WordPress 4. Ahora se llama #wpadminbar y no envuelve el contenido, por lo que lo anterior no se puede aplicar a la versión 4+

Raptor Raptor
4 feb 2016 06:18:22

También está disponible una versión en SASS, junto con una explicación para resoluciones móviles/escritorio (sitios responsivos) y el enfoque mobile-first: https://www.sitepoint.com/getting-sticky-headers-wordpress-admin-bar-behave/

Minister Minister
4 nov 2018 13:55:14

¿Cómo funcionará esto cuando el usuario se desplace hacia abajo? Entonces la barra de navegación de wp quedará fija "casi en la parte superior de la pantalla", lo cual se ve bastante tonto

FooBar FooBar
26 sept 2019 17:15:12
1
11

en tu CSS podrías probar algo como: body.logged-in{margin-top:20px;} o si esto no funciona algún otro código usando la clase .logged-in

19 dic 2011 23:04:20
Comentarios

Esto (incorrectamente) afecta a todos los usuarios conectados. Considera la respuesta de Brent en su lugar.

Chris Burgess Chris Burgess
17 jul 2012 14:06:51
2

Prueba esto para WordPress 4+. Verifica si la barra de administración está presente y, de ser así, mueve el encabezado fijo hacia abajo un poco para compensar.

    //fix para la barra de administración
    if ($('#wpadminbar')[0])
        $('.site-header').css('top', '32px')
13 dic 2016 17:43:24
Comentarios

Por favor, [edita] tu respuesta y añade una explicación: ¿por qué podría eso resolver el problema?

fuxia fuxia
13 dic 2016 18:20:43

Cambiar '.site-header' por 'body' hizo que esto funcionara para mí.

Kaji Kaji
10 oct 2017 02:33:26
2

Esto también funciona

body.logged-in > header {  
    margin-top: 32px;  
}  
18 abr 2020 14:57:13
Comentarios

Por favor, intenta agregar una breve explicación - esto permitirá al OP y a futuros usuarios aprender y entender lo que está sucediendo en lugar de ser simplemente un lugar donde la gente obtiene su código escrito por otros. Gracias por responder.

Tony Djukic Tony Djukic
18 abr 2020 20:37:26

El selector padre no es necesario. body.logged-in header funciona bien.

Akshay K Nair Akshay K Nair
2 feb 2022 08:44:01
2

Leí todas las respuestas pero no encontré esta:

¿Por qué no usar la función de WordPress:

is_admin_bar_showing()

ejemplo en el archivo header.php del tema

<nav class="nav-default" style="<?php echo is_admin_bar_showing() ? 'top: 32px' : ''; ?>">
28 may 2022 14:11:13
Comentarios

Estuve buscando un tiempo cómo ajustar la barra de administración de WordPress con la barra de navegación fixed-top en Bootstrap 5. Esta fue la mejor solución que funcionó perfectamente para mí sin añadir demasiado código extra. ¡Gracias!

Mike Quade Mike Quade
17 nov 2023 14:14:04

En mi caso, añadí position: relative en lugar de top: 32px para solucionar el problema.

Raptor Raptor
14 jun 2024 08:59:08
0

Creo que, en dispositivos con anchos más pequeños, la barra de administración (wpadminbar) no tiene una posición fija. Entonces, si desplazas el documento en un smartphone, la barra de administración seguirá el desplazamiento y no permanecerá en la parte superior de la ventana. Teniendo esto en cuenta, ¿por qué no agregar un poco de JavaScript en el pie de página de tu tema justo después de la llamada a wp_head()? De esta manera, podemos detectar el ancho del dispositivo y si el documento tiene o no la barra de administración. Luego, simplemente creamos algunas reglas CSS y las añadimos al encabezado del documento, como se muestra a continuación:

<script>
( function(e) {
    var ab = document.getElementById( 'wpadminbar' );
    if ( typeof( ab ) === 'object' && window.innerWidth >= 610 ) {
        var abh = ab.offsetHeight || ab.clientHeight || ab.scrollHeight;
        var style = document.createElement( 'style' );
        style.id = 'adminbar_main_nav_controle_rules';
        document.getElementsByTagName( 'head' )[0].appendChild( style );
        var rules = document.createTextNode( 'body.admin-bar .main-navigation.fixed { margin-top: ' + abh + 'px !important; }' );
        style.appendChild( rules );
        console.debug( 'El espacio de la barra de administración está cubierto' );
    }
})();
</script>

Suponiendo que tu menú de navegación tenga una clase 'main-navigation' y al desplazarte le añadas otra clase llamada 'fixed'. Cambia el CSS para apuntar a tu panel de navegación reemplazando 'body.admin-bar .main-navigation.fixed' con lo que necesites para apuntar al tuyo.

Se puede mejorar aún más, por ejemplo, verificando si la barra de administración está fija o no, pero por ahora, espero que esto te ayude.

16 dic 2015 22:08:45
0

Acabo de usar este CSS.

body.admin-bar #main-header  {
padding-top: 32px }
29 oct 2019 19:02:58
0
-1

Prueba esto, funciona correctamente

$(document).ready(function() {
    if ($('#wpadminbar')[0]) {
        $('header').css('top', '32px')
    }
});
14 feb 2019 10:36:22
0
-2

dar la barra de navegación superior

.navbar-fixed-top {
    border-width: 0 0 1px;
    padding: 0;
    position: relative!
}
30 abr 2019 07:35:55