Avatar billede Jakie Juniormester
30. maj 2012 - 13:44 Der er 14 kommentarer og
1 løsning

Problemer med korrekt visning af menu i IE 6 og 7

Hej :)

Jeg har det problem at min menu ikke helt viser rigtigt i Internet Explore 6 og 7- hvad kan jeg gøre for at rette det?

CSS Kode:



.menuboks {
    margin:0px 0px 75px 0px;
    padding:0px;
    float:left;
    width:950px;
    border-top:5px solid white;
    background-color:rgb(100,100,100);
}






    #divNav {
        background-color:rgb(100,100,100);
        margin: 0px;
        padding: 0px;
        height: 40px;
        width: 950px;
    }

    #nav {
        position: relative;
        top: 0px;
        height: 40px;
        width: 950px;
        margin:0px
        padding:0px;
        font-size:18px;
       
    }

    #nav li ul, #nav li ul {
        margin: 0;
        padding: 0;
       
    }

    #nav a {
        text-decoration: none;
    }

    #nav li { /*float the main list items*/
        margin: 0;
        float: left;
        display: block;
        background-color:rgb(239,239,239);
        padding:0px;
    }

    #nav li ul {
        display: none;
        width:950px;
        background-color:rgb(100,100,100);
    }

    #nav li.off ul, #nav li.on ul  { /*put the subnav below*/
        position: absolute;
        margin:0px;
        top: 40px;
        left: 0;
        padding:5px;
        background-color:rgb(239,239,239);
        height: 30px;
        width: 940px;
    }

    #nav li.on ul {
        background-color:rgb(239,239,239);
        height:30px;
        float:left;
        padding:5px;
    }

    #nav li.on:hover ul, #nav li.over ul { /*for ie*/
        background-color:rgb(239,239,239);
    }

    #nav li a {
        color: white;
        font-weight: normal;
        display: block;
        width: 93px;
        background-color:rgb(100,100,100);
        padding: 0px;
    }

    #nav li.on a {
        background-color:rgb(100,100,100);
        color:rgb(239,239,239);
    }

    #nav li.off ul a {
        border: 0;
        float: left; /*ie doesn't inherit the float*/
        background-color:rgb(239,239,239);
        width: auto;
        height:30px;
        margin-right: 15px;
   
    }
   
    #nav li.on ul a {
        border: 0px;
        float: left; /*ie doesn't inherit the float*/
        background-color:rgb(239,239,239);
        width: auto;
        height:30px;
        margin-right: 15px;

   
    }
   







    #nav li.on:hover ul a, #nav li.over ul li a { /*for ie - the specificity is necessary*/
        background-color:rgb(239,239,239);
    }

    #nav li.on ul {
        display: block;
        float:left;
       
   
    }

    #nav li.off:hover ul, #nav li.over ul {
        display: block;
        z-index: 6000;

    }

    #nav li.on a:hover {
        text-decoration:underline;
    }
   
    #nav li.off a:hover {
        text-decoration:underline;
    }

    /*do the image replacement*/


    #liRenaissance a, #liArtNouveau a, #liModern a, #liPostModern a, #liDigital a {
        display: block;
        position: relative;
        height: 40px;
        padding:10px;
            background-color:rgb(100,100,100);
    }

/*first, put the initial states in place*/

#liRenaissance a {
    background-position: 0 0;
}

#liArtNouveau a {
    background-position: -102px 0;
}

#liModern a {
    background-position: -204px 0;
}

#liPostModern a {
    background-position: -306px 0;
}

#liDigital a {
    background-position: -408px 0;
}

/*active area - for this demo - the code could be based on a body class, and probably work better.*/

#liModern.on a {
    background-position: -204px -37px;;
} /*add selectors for the other li's and background-positions*/

/*hover states*/

#liRenaissance a:hover, #liRenaissance:hover a, #liRenaissance.over a {
    background-position: 0 -73px;
}

#liArtNouveau a:hover, #liArtNouveau:hover a, #liArtNouveau.over a {
    background-position: -102px -73px;
}

#liModern a:hover, #liModern:hover a, #liModern.over a {
    background-position: -204px -73px;
}

#liPostModern a:hover, #liPostModern:hover a, #liPostModern.over a {
    background-position: -306px -73px;
}

#liDigital a:hover, #liDigital:hover a, #liDigital.over a {
    background-position: -408px -73px;
}

/*subnav formatting*/

#nav li.off ul a, #nav li.on ul a {
    display: block;
    background-color:rgb(239,239,239);
    color: rgb(60,108,150);
    font-family: arial, verdana, sans-serif;
    font-size: small;
    height:16px;
    padding:7px;
}       

#nav li.on ul a {
    background-color:rgb(239,239,239);

}
   


HTML-kode:

<div class="menuboks">
           

<div id="divNav">
    <ul id="nav">
    <li id="liRenaissance" class="on"><a href="#"><span>Forside</span></a>
    <ul>
        <li><a href="#">Om Spillet</a></li>
        <li><a href="#">Betingelser</a></li>
        <li><a href="#">Vision</a></li>
    </ul></li>
    <li id="liArtNouveau" class="off"><a href="#"><span>Handel</span></a>
    <ul>
        <li><a href="#">Danske Aktier</a></li>
        <li><a href="#">Belgiske Aktier</a></li>
        <li><a href="#">Engelske Aktier</a></li>
        <li><a href="#">Hollandske Aktier</a></li>
        <li><a href="#">Finske Aktier</a></li>
        <li><a href="#">Franske Aktier</a></li>
        <li><a href="#">Svenske Aktier</a></li>
        <li><a href="#">Norske Aktier</a></li>
        <li><a href="#">US Aktier</a></li>
        <li><a href="#">Euronext 100</a></li>
        <li><a href="#">Obligationer</a></li>
        <li><a href="#">Valuta</a></li>
       
       
       
       
   
       
    </ul></li>
    <li id="liModern" class="off"><a href="#"><span>Hjælp</span></a>
    <ul>
        <li><a href="#">FAQ</a></li>
        <li><a href="#">Kontakt</a></li>
        <li><a href="#">Brevkasse</a></li>

    </ul></li>
    <li id="liPostModern" class="off"><a href="#"><span>Forum</span></a>
    <ul>
        <li><a href="#">Sidste indlæg</a></li>
    </ul></li>
    <li id="liDigital" class="off"><a href="#"><span>Opret bruger</span></a>
    <ul>
        <li><a href="#">Betingelser</a></li>
        <li><a href="#">Regler</a></li>

    </ul></li>
</ul></div>


               
               
               
               
                </div>




På forhånd tak for hjælpen :)
Avatar billede keysersoze Ekspert
30. maj 2012 - 14:20 #1
Jeg tror at det bliver svært at komme med hjælp uden en fejlbeskrivelse, et link (eller som minimum en fuldstændig kode).
Avatar billede michael_stim Ekspert
30. maj 2012 - 14:41 #2
Du kan skrive en tekst, der fortæller at det er på tide at opgradere. Man kan ikke blive ved at udvikle til gamle browsere. IE6 er fra 2001 og IE7 er fra 2006.
Avatar billede 220661 Ekspert
30. maj 2012 - 17:18 #3
Enig i #2. Der er jo slet ikke opdateringer og support på de gamle browsere længere.
Avatar billede olebole Juniormester
30. maj 2012 - 17:29 #4
<ole>

Hvilke browsere, man kan tillade sig at se bort fra, handler i høj grad om, hvad man laver - og til hvem. I en del brancher har mange firmaer en yderst konservativ opdateringspolitik. Skriver man sites, målrettet den slags segmenter, er man naturligvis nødt til at understøtte ret gamle browserversioner. IE7 er således stadig en nødvendighed for mange udviklere at understøtte ... den er trods alt 'kun' seks år gammel  =)

Derudover må spørger komme med yderligere info, hvis hjælp skal være realistisk.

/mvh
</bole>
Avatar billede Jakie Juniormester
30. maj 2012 - 18:04 #5
Altså, selvom at 1 ud af 500 bruger IE6 viser det at min målgruppe har en større procent :)

Derfor er jeg nødt til at lave det til den browser også - desuden synes jeg heller ikke man skal lade sig "slå" af browseren, bare fordi det ikke lige fungere osv.

Hmm..

Det er den fuldstændige kode - jeg ligger op på et domæne - her 
http://www.boxing-fighting.com/

Printscreen af fejlen er nedenunder menuen i domænet.

Håber det er godt nok :)
Avatar billede olebole Juniormester
30. maj 2012 - 18:53 #6
Lad os se den virkende side i stedet. Det er meget lettere  =)
Avatar billede Jakie Juniormester
30. maj 2012 - 19:46 #7
Den virkende side?
Avatar billede olebole Juniormester
30. maj 2012 - 20:38 #8
Prøv at lægge et link til den side, vi taler om og kikker på billeder af
Avatar billede Jakie Juniormester
30. maj 2012 - 21:20 #9
Det er siden - bare med to printscreens af fejlenen i de to browsere?
Avatar billede olebole Juniormester
30. maj 2012 - 22:25 #10
Undskyld, jeg så ikke ordentligt efter  =)

Når du laver ting med lister, bør du altid begynde med at nulstille deres padding og margin:

ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

Derefter kan du begynde at rykke rundt på indholdet med LI elementernes - og deres child elementers - padding og margin. Dog skal du passe på med margin på LI elementerne, da IE6 havde visse problemer med margin i kombination med float
Avatar billede olebole Juniormester
30. maj 2012 - 22:27 #11
- og mere specifikt vil denne nulstilling løse indrykningsproblemet i IE6 og 7, hvis du lægger den på UL'en med id="nav"
Avatar billede Jakie Juniormester
30. maj 2012 - 23:00 #12
Tak for dit svar Ole :)

Du må gerne vedlægge svar :)

Har dog lige et sidste spørgsmål for at være helt sikker, hvor er det så du siger, at jeg kan tilføje margin og padding i ul uden at den har fejl?
Avatar billede olebole Juniormester
30. maj 2012 - 23:32 #13
Du bør i det mindste lægge det her:

#nav {
    margin: 0;
    padding: 0;
    font-size: 18px;
    height: 40px;
    position: relative;
    top: 0;
    width: 950px;
}

- men det vil som sagt kræve, du rykker lidt på de andre elementers properties. Det vil formodentlig give dig bedre styr på tværs af browsere og versioner.

Ellers tak, jeg samler ikke point. Vent med det, til problemet er løst. Det kan være andre kommer med flere bud  =)
Avatar billede Jakie Juniormester
31. maj 2012 - 00:17 #14
Som du sagde skulle jeg bare rykke lidt på properties, så lægger svaret selv, da du ikke samler på point.


Endnu engang tak for hjælpen.
Avatar billede olebole Juniormester
31. maj 2012 - 01:56 #15
Selvtak. Husk at acceptere svaret  *o)
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