Problema com compatibilidade

5 respostas
regisbten

Bom dia, pessoal estou com um problema de compatibilidade
FIREFOX X IE, enfim no Firefox está tudo perfeito, porém no IE
quando o menu se expandi ele fica por trás dos combos e acaba
tapando o menu. Ja li algo em relação a Z-index não lembro ao certo agora
porém não deu certo, acredito que esse problema de compatibilidade
atrapalha muita gente. abraço a todos.

Peace.

5 Respostas

emmanuel.silva

tenta colocar no css do menu: position: absolute;

regisbten

Obrigado pela resposta, coloquei position: absolute; em todo CSS
do menu e mesmo assim não funcionou, ele só fica abaixo das combos
se tem input text ou qualquer coisa fica abaixo porém se tem algum combo
o menu fica atrás.

Obrigado pela ajuda. Abraço.
Aguardo mais dicas.

emmanuel.silva

Cara, eu vi com um cara aqui que é designer, ele disse para vc dar uma estudada nas propriedades display do css e principalmente na propriedade overflow (ele acha que essa ultima resolve).

regisbten

Bom estou estudando mais css para tentar ressolver esse problema,
tentei algo mas não deu muito certo, tentarei isso mais tarde.

Valeu ajuda.

fsquadro

regisbten,

Isso é um bug do IE, mas claro tem como dar um "“jeitinho brasileiro”, Você tem que criar um IFRAME. Vou te mostrar o código do meu menu, como exemplo.
Se você der uma procurada no google, vai achar alguma coisa falando sobre, no IE 7, funciona normalmente.

/** JavaScript **/
ieHover = function() {
var ieULs = document.getElementById('nav').getElementsByTagName('ul');
/** IE script to cover <select> elements with <iframe>s **/
for (j=0; j<ieULs.length; j++) {
//ieULs[j].innerHTML = ('<iframe src="about:blank" scrolling="no" frameborder="0"></iframe>' + ieULs[j].innerHTML);
ieULs[j].innerHTML = ('<iframe scrolling="no" frameborder="0"></iframe>' + ieULs[j].innerHTML);

	var ieMat = ieULs[j].firstChild;
		ieMat.style.width=ieULs[j].offsetWidth+"px";
		ieMat.style.height=ieULs[j].offsetHeight+"px";	
		ieULs[j].style.zIndex="99";
}
/** IE script to change class on mouseover **/
	var ieLIs = document.getElementById('nav').getElementsByTagName('li');
	for (var i=0; i<ieLIs.length; i++) if (ieLIs[i]) {
		ieLIs[i].onmouseover=function() {this.className+=" iehover";}
		ieLIs[i].onmouseout=function() {this.className=this.className.replace(' iehover', '');}
	}}
if (window.attachEvent) window.attachEvent('onload', ieHover);
/** end **/

Espero ter ajudado.

Criado 14 de março de 2007
Ultima resposta 16 de mar. de 2007
Respostas 5
Participantes 3