Ir al contenido
Menú
Se marcó esta pregunta
3 Respuestas
14536 Vistas

How can I let the website navbar stay on top of the screen when scrolling down like https://willowit.com.au?

When I change <div class="navbar navbar-default navbar-static-top"> to <div class="navbar navbar-default navbar-fixed-top">, the menu stays on top. Only problem is that the website editing bar is not correctly displayed when the user is logged in and wants to edit the website.

Avatar
Descartar
Mejor respuesta

The simplest solution is probably to make a switch.

I had tried the user navbar with fixed-top, with fixed-bottom and z-index manipulation. The problem is that there are too many draws more disorders by itself.

I now have it solved so that visitors can see a fixed navbar and backend-user a static navbar. In addition I had to edit only two places in the Main layout:

new opening body 

<body t-att-style="'' if editable else 'padding-top:51px;'">
and a bit further down the new navbar div

<div t-att-class="'navbar navbar-default navbar-static-top' if editable else 'navbar navbar-default navbar-fixed-top'"> 

not an optimal solution - but works so far 

Avatar
Descartar
Mejor respuesta

To add on the accepted answer, it's better to use "if website.user_id != user_id else" instead of "if editable". Because when it's "if editable",  if your website has more than one language installed, you won't be able to translate them, because the navbar overlaps the editor navbar. 

My navbar tag: 

<div t-att-class="'navbar navbar-static-top' if website.user_id != user_id else 'navbar navbar-fixed-top'">
Avatar
Descartar
Mejor respuesta

Add this to body tag:

 

body {

min-height: 2000px;

padding-top: 70px;

}

 

The problem is from bootstrap, not odoo. When you fix top, the container adapts, so you need to add the padding, so it restores to the previous size. 

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
4
may 25
1710
2
ene 25
1788
4
ene 25
3763
0
nov 24
1220
1
nov 24
1956