Avatar billede mortvader Nybegynder
01. december 2009 - 21:47 Der er 6 kommentarer og
1 løsning

Vises ok i Firefox men ikke i IE... men hvorfor?

Hej

Nedenstående script er en forsimplet version af min menu, som er ude i problemer..

Der er en horisontal mainmenubar (her med 1 item)
Når musen holdes over, vises en DIV indeholdende en dropdownmenu.
Når musen holdes over ITEM2 i dropdownmenuen, skal endnu en DIV vises ved siden af. Men i IE8 bliver den clippet til dropdownmenuen. I firefox vises det korrekt.

Jeg er kørt fast, og håber at en tålmodig sjæl kan yde lidt start-hjælp :)

/Morten




<style>
.mainmenu{
height:30px;
border-style:none;
position:relative;
background-image:url('img/menubar.gif');
z-index:0;
overflow:visible;
}

.mainmenuitem{
position:relative;
float:left;
width:120px;
height:30px;
padding-top:5px;
padding-left:4px;
font-family:verdana;
font-size:16px;
cursor:pointer;
color:white;
background-image:url('img/menubar.gif');
overflow:visible;
}

.dropdown{
position:absolute;
left:0px;
top:30px;
width:145px;
border-style:none;
background-color:black;
display:none;
filter:alpha(opacity=97);
-moz-opacity:0.97;
-khtml-opacity:0.97;
opacity:0.97;

overflow:visible;

border-style:solid;
border-color:yellow;
border-width:1px;

}

.sidedrop{
position:absolute;
left:130px;
top:-24px;
width:145px;
background-color:black;
display:none;
filter:alpha(opacity=97);
-moz-opacity:0.97;
-khtml-opacity:0.97;
opacity:0.97;

overflow:visible;

border-style:solid;
border-color:white;
border-width:1px;
}

.menuitem{
font-weight:bold;
color:#c0c0c0;
padding:4px;
margin-top:2px;
margin-bottom:2px;
}
</style>

<script>
function toggledrop(d,onoff){
var dd = document.getElementById(d);
if (!dd) { return; }
if (onoff==true){
  dd.style.display = "block";
}else{
  dd.style.display = "none";
}
}
</script>

<div class=mainmenu>
<div class=mainmenuitem id=1 onmouseover="toggledrop('drop1',true);" onmouseout="toggledrop('drop1',false);">hej
<div class=dropdown id=drop1>
<div class=menuitem id=i1>item1</div>
<div class=menuitem id=i2 onmouseover="toggledrop('s1',true);" onmouseout="toggledrop('s1',false);">item2
<div style='position:relative;overflow:visible;'>
<div class=sidedrop id=s1>
<div class=menuitem id=i3>item3</div>
</div>
</div>
</div>
</div>
</div>
</div>
Avatar billede cronaldo Nybegynder
01. december 2009 - 23:59 #1
Hvilket id har det, der ikke bliver vist korrekt?
Avatar billede mortvader Nybegynder
02. december 2009 - 07:54 #2
Det er den som hedder 's1'.
Så vidt jeg kan se bliver den clippet inde i den der har id 'drop1'.
Avatar billede cronaldo Nybegynder
02. december 2009 - 11:52 #3
et andet spørgsmål - hvorfor har du BÅDE tekst og tag's i din div? :) hehe .
Avatar billede mortvader Nybegynder
02. december 2009 - 11:56 #4
Hvordan skal jeg ellers placere de indre DIVs i forhold til den ydre?

Alternative løsninger er velkomne.
Avatar billede cronaldo Nybegynder
02. december 2009 - 12:22 #5
vil umiddelbart tro du skal ændre noget position: absolute til position: relative og så KUN angive
left: [pixels]px;
Avatar billede mortvader Nybegynder
02. december 2009 - 14:47 #6
Det gør ingen forskel :(
Avatar billede mortvader Nybegynder
02. december 2009 - 14:52 #7
Nå, har fundet ud af fejlen.
Den clipper det, når man har opacity slået til :(
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester