Avatar billede repox Seniormester
13. marts 2007 - 16:14 Der er 6 kommentarer og
1 løsning

CSS dropdown menu i tre niveauer (IE porblem)

Hej eksperter!

Jeg er simpelthen gået helt død i det her nu. Mine øjne er blevet trætte og jeg har nu stirret mig fuldstændig blind på menuen som kan findes her:
http://err0r.dk/test.php (ingen skjult kildekode)

Problemet er, naturligvis, IE6/7 som ikke vil vise det tredie niveau i menuen for mig, og ikke om jeg har den fjerneste anelse om hvorfor.
Menuen virker fint i FF og Opera.

Nogen der kan finde en løsning på problemet?
Avatar billede roenving Novice
13. marts 2007 - 16:22 #1
Nu er kaldet til at starte menuen jo remmet ud, så det slet ikke eksekveres ...
Avatar billede repox Seniormester
13. marts 2007 - 16:29 #2
Kan du udpensle det lidt?
Avatar billede Slettet bruger
13. marts 2007 - 16:53 #3
Som roenving skriver koden er ikke fyldestgørende.
Er det noget du laver i f. eks. Dreamweaver ?
Kan du ikke bruge denne i stedet ?

--------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>fold-ud-org-menu.html</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<style type="text/css">
html,body {
height: 100%;
width: 100%;
margin: 0px;
padding: 0px;
background: #fff;
color:#000;
text-align:center;
font-family:verdana, arial, helvetica, sans-serif;
font-size:76%;
color:#000;}

#wrapper {
width:750px;
margin:10px auto 0 auto;
text-align:left;
background:#fff;}

/* style the outer div to give it width */
.menu {
width:750px;
font-size:0.85em;
padding-bottom:150px;
}
/* remove all the bullets, borders and padding from the default list styling */
.menu ul {
padding:0;
margin:0;
list-style-type:none;
}
.menu ul ul {
width:150px;
}
/* float the list to make it horizontal and a relative positon so that you can control the dropdown menu positon */
.menu li {
float:left;
width:150px;
position:relative;
}
/* style the links for the top level */
.menu a, .menu a:visited {
display:block;
font-size:11px;
text-decoration:none;
color:#fff;
width:139px;
height:30px;
border:1px solid #fff;
border-width:1px 1px 0 0;
background:#758279;
padding-left:10px;
line-height:29px;
}
/* a hack so that IE5.5 faulty box model is corrected */
* html .menu a, * html .menu a:visited {
width:150px;
w\idth:139px;
}

/* style the second level background */
.menu ul ul a.drop, .menu ul ul a.drop:visited {
background:#949e7c;
}
/* style the second level hover */
.menu ul ul a.drop:hover{
background:#c9ba65;
}
.menu ul ul :hover > a.drop {
background:#c9ba65;
}
/* style the third level background */
.menu ul ul ul a, .menu ul ul ul a:visited {
background:#e2dfa8;
}
/* style the third level hover */
.menu ul ul ul a:hover {
background:#b2ab9b;
}
.menu ul ul ul :hover > a {
background:#b2ab9b;
}

/* hide the sub levels and give them a positon absolute so that they take up no room */
.menu ul ul {
visibility:hidden;
position:absolute;
height:0;
top:31px;
left:0;
width:150px;
}
/* another hack for IE5.5 */
* html .menu ul ul {
top:30px;
t\op:31px;
}

/* position the third level flyout menu */
.menu ul ul ul{
left:150px;
top:0;
width:150px;
}
/* position the third level flyout menu for a left flyout */
.menu ul ul ul.left {
left:-150px;
}

/* style the table so that it takes no part in the layout - required for IE to work */
.menu table {position:absolute; top:0; left:0;}

/* style the second level links */
.menu ul ul a, .menu ul ul a:visited {
background:#d4d8bd;
color:#000;
height:auto;
line-height:1em;
padding:5px 10px;
width:129px

/* yet another hack for IE5.5 */
}
* html .menu ul ul a{
width:150px;
w\idth:129px;
}

/* style the top level hover */
.menu a:hover, .menu ul ul a:hover{
color:#fff;
background:#949e7c;
}
.menu :hover > a, .menu ul ul :hover > a {
color:#fff;
background:#949e7c;
}

/* make the second level visible when hover on first level list OR link */
.menu ul li:hover ul,
.menu ul a:hover ul{
visibility:visible;
}
/* keep the third level hidden when you hover on first level list OR link */
.menu ul :hover ul ul{
visibility:hidden;
}
/* keep the fourth level hidden when you hover on second level list OR link */
.menu ul :hover ul :hover ul ul{
visibility:hidden;
}
/* make the third level visible when you hover over second level list OR link */
.menu ul :hover ul :hover ul{
visibility:visible;
}
/* make the fourth level visible when you hover over third level list OR link */
.menu ul :hover ul :hover ul :hover ul {
visibility:visible;
}
</style>

</head>
<body>

<div id="wrapper">
<div id="info">
<div class="menu">

<ul>
<li><a href="#nogo">001<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="#nogo" title="001-A">001-A</a></li>
    <li><a href="#nogo" title="001-B">001-B</a></li>

    <li><a class="drop" href="#nogo" title="001-C">001-C ><!--[if IE 7]><!--></a><!--<![endif]-->
    <!--[if lte IE 6]><table><tr><td><![endif]-->
        <ul>
            <li><a href="#nogo" title="001-C1">001-C1</a></li>
            <li><a href="#nogo" title="001-C1">001-C2</a></li>

            <li><a href="#nogo">001-C3 ><!--[if IE 7]><!--></a><!--<![endif]-->
            <!--[if lte IE 6]><table><tr><td><![endif]-->
                <ul>
                    <li><a href="#nogo">001-C3 - 1</a></li>
                    <li><a href="#nogo">001-C3 - 2</a></li>
                    <li><a href="#nogo">001-C3 - 3</a></li>
                    <li><a href="#nogo">001-C3 - 4</a></li>

                </ul>
            <!--[if lte IE 6]></td></tr></table></a><![endif]-->
            </li>
        </ul>
    <!--[if lte IE 6]></td></tr></table></a><![endif]-->
    </li>
    </ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>


<li><a href="#nogo">002<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="#nogo" title="001-A">002-A</a></li>
    <li><a href="#nogo" title="001-B">002-B</a></li>
    </ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>


<li><a href="#nogo">003<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="#nogo" title="003-A">003-A</a></li>
    <li><a href="#nogo" title="003-B">003-B</a></li>
    </ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>


<li><a href="#nogo">004<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="#nogo" title="004-A">004-A</a></li>
    <li><a href="#nogo" title="004-B">004-B</a></li>
    </ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->
</li>


<li><a href="#nogo">005<!--[if IE 7]><!--></a><!--<![endif]-->
<!--[if lte IE 6]><table><tr><td><![endif]-->
    <ul>
    <li><a href="#nogo" title="005-A">005-A</a></li>
    <li><a href="#nogo" title="005-B">005-B</a></li>
        </ul>
    <!--[if lte IE 6]></td></tr></table></a><![endif]-->
    </li>
    </ul>
<!--[if lte IE 6]></td></tr></table></a><![endif]-->


</div>


</div> <!-- info -->
</div>
</body>
</html>
Avatar billede repox Seniormester
13. marts 2007 - 17:02 #4
Koden er håndskrevet.

Svaret er jo heller ikke fyldestgørende, idét jeg ikke kommer mig nærmere på en løsning. Jeg er jo ikke et sekund i tvivl om at min kode ikke er fyldestgørende.

Og jeg leder heller ikke efter en alternativ løsning, for så har jeg lært intet.
Avatar billede repox Seniormester
14. marts 2007 - 07:00 #5
Nå, det var der så ingen der kunne svare på...
Avatar billede repox Seniormester
15. marts 2007 - 09:39 #6
Til dem det kunne interessere lagde problemet i filter:alpha(opacity=80); idet den danner et nyt lag. Problemet løst vha. z-index.
Avatar billede roenving Novice
15. marts 2007 - 09:45 #7
Et nyt lag ?-)
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