Foros del Web » Creando para Internet » CSS »

Menú horizontal CSS+Java Falta ponerlo fixed on top

Estas en el tema de Menú horizontal CSS+Java Falta ponerlo fixed on top en el foro de CSS en Foros del Web. Saludos a todos, Quisiera utilizar un menú horizontal CSS + JS. El problema es que cuando quiero que se fije en la posición superior (que ...
  #1 (permalink)  
Antiguo 18/10/2009, 12:25
 
Fecha de Ingreso: agosto-2007
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Menú horizontal CSS+Java Falta ponerlo fixed on top

Saludos a todos,

Quisiera utilizar un menú horizontal CSS + JS. El problema es que cuando quiero que se fije en la posición superior (que no baje con el scroll) se me "descuajiringa" todo. ¿Cómo puedo hacer que quede fixed on top?

Código CSS

Código:
.horizontalcssmenu ul{
margin: 0;
padding: 0;
list-style-type: none;
}

/*Top level list items*/
.horizontalcssmenu ul li{
position: relative;
display: inline;
float: left;

}

/*Top level menu link items style*/
.horizontalcssmenu ul li a{
display: block;
width: 120px; /*Width of top level menu link items*/
padding: 2px 8px;
border: 1px solid #202020;
border-left-width: 0;
text-decoration: none;
background:  url(menubg.gif) center center repeat-x;
color: black;
font: bold 13px Tahoma;
}
	
/*Sub level menu*/
.horizontalcssmenu ul li ul{
left: 0;
top: 0;
border-top: 1px solid #202020;
position: absolute;
display: block;
visibility: hidden;
z-index: 100;
}

/*Sub level menu list items*/
.horizontalcssmenu ul li ul li{
display: inline;
float: none;
}


/* Sub level menu links style */
.horizontalcssmenu ul li ul li a{
width: 160px; /*width of sub menu levels*/
font-weight: normal;
padding: 2px 5px;
background: #e3f1bd;
border-width: 0 1px 1px 1px;
}

.horizontalcssmenu ul li a:hover{
background:  url(menubgover.gif) center center repeat-x;
}

.horizontalcssmenu ul li ul li a:hover{
background: #cde686;
}

.horizontalcssmenu .arrowdiv{
position: absolute;
right: 0;
background: transparent url(menuarrow.gif) no-repeat center left;
}

* html p#iepara{ /*For a paragraph (if any) that immediately follows menu, add 1em top spacing between the two in IE*/
padding-top: 1em;
}
	
/* Holly Hack for IE \*/
* html .horizontalcssmenu ul li { float: left; height: 1%; }
* html .horizontalcssmenu ul li a { height: 1%; }
/* End */
Código JS
Código:
var cssmenuids=["cssmenu1"] //Enter id(s) of CSS Horizontal UL menus, separated by commas
var csssubmenuoffset=-1 //Offset of submenus from main menu. Default is 0 pixels.

function createcssmenu2(){
for (var i=0; i<cssmenuids.length; i++){
  var ultags=document.getElementById(cssmenuids[i]).getElementsByTagName("ul")
    for (var t=0; t<ultags.length; t++){
			ultags[t].style.top=ultags[t].parentNode.offsetHeight+csssubmenuoffset+"px"
    	var spanref=document.createElement("span")
			spanref.className="arrowdiv"
			spanref.innerHTML="&nbsp;&nbsp;&nbsp;&nbsp;"
			ultags[t].parentNode.getElementsByTagName("a")[0].appendChild(spanref)
    	ultags[t].parentNode.onmouseover=function(){
					this.style.zIndex=100
    	this.getElementsByTagName("ul")[0].style.visibility="visible"
					this.getElementsByTagName("ul")[0].style.zIndex=0
    	}
    	ultags[t].parentNode.onmouseout=function(){
					this.style.zIndex=0
					this.getElementsByTagName("ul")[0].style.visibility="hidden"
					this.getElementsByTagName("ul")[0].style.zIndex=100
    	}
    }
  }
}

if (window.addEventListener)
window.addEventListener("load", createcssmenu2, false)
else if (window.attachEvent)
window.attachEvent("onload", createcssmenu2)
Gracias de antemano por su ayuda.
  #2 (permalink)  
Antiguo 19/10/2009, 07:30
 
Fecha de Ingreso: octubre-2009
Ubicación: Argentina
Mensajes: 21
Antigüedad: 8 años, 1 mes
Puntos: 0
Respuesta: Menú horizontal CSS+Java Falta ponerlo fixed on top

Mnn... así es complicado podrías agregar el html del menu para poder hacer pruebas?
  #3 (permalink)  
Antiguo 19/10/2009, 09:32
 
Fecha de Ingreso: agosto-2007
Mensajes: 2
Antigüedad: 10 años, 3 meses
Puntos: 0
Ya lo encontré!!

Encontré una solución chapuza.

Añadí:

Código:
DIV{
position:fixed;
top:0;
left:15;
}
y

el div del menú se colocó a su sitio.
La chapuza está en que cualquier otro div le he de dar coordenadas diferentes.
Tampoco funciona en Explorer.
Sigo agradeciendo soluciones.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:50.