Avatar billede swing Nybegynder
02. november 2009 - 11:51 Der er 9 kommentarer og
2 løsninger

fra lodret til vandret

Hej eksperter

Jeg har en vertikal menu som jeg gerne vil have gjort horisontal, hvordan kan jeg gøre det?

<style type="text/css">
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    width:120px;
}

ol ol {
    float: left;
    position: absolute;
    top: 0;
    left: 161px;
    display: none;
}

ol li {
    position: relative;
    }


li a {
    display:block;
    padding: 5px;
    border: 1px solid #808080;
    background-color: #e7e7e7;
    height:15px;
    width:150px;
    text-decoration: none;
    color: #777;

}

li:hover ol, li.over ol  {
    display: inline;
}

</style>
02. november 2009 - 12:05 #1
Proev i ol li at tilfoeje float:left
Avatar billede swing Nybegynder
02. november 2009 - 14:47 #2
Jeg har prøve at tilføje float Left men det hjælper ikke
Avatar billede zips Juniormester
02. november 2009 - 15:05 #3
Det vil ikke virke før du sletter din width:120px på din ol
Avatar billede zips Juniormester
02. november 2009 - 15:21 #4
Jeg burde nok havet skrevet at du kan slette den eller sætte den til den bredde som din menu skal være, alt efter hvordan din opbygning er lavet.
Avatar billede swing Nybegynder
02. november 2009 - 15:37 #5
ok jeg kommer vist til at paste hele koden, når jeg forsøger som du skriver overlapper menuen.

Koden:

<head>
<meta content="en-us" http-equiv="Content-Language" />
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Home</title>
<style type="text/css">
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
    width:120px;
}

ol ol {
    float: left;
    position: absolute;
    top: 0;
    left: 161px;
    display: none;
}

ol li {
    position: relative;
    }


li a {
    display:block;
    padding: 5px;
    border: 1px solid #808080;
    background-color: #e7e7e7;
    height:15px;
    width:150px;
    text-decoration: none;
    color: #777;

}

li:hover ol, li.over ol  { display: block; }

</style>
</head>

<body>

<ol>
    <li><a href="#">Home</a></li>
    <li><a href="#">Products</a>
        <ol>
        <li><a href="#">Guitars</a></li>
        <li><a href="#">Basses</a></li>
        <li><a href="#">Accessories</a></li>
        <li><a href="#">Sheet Music</a></li>
        </ol>
    </li>
    <li><a href="#">Services</a>
        <ol>
        <li><a href="#">Guitar Repair</a></li>
        <li><a href="#">Music Lessons</a></li>
        <li><a href="#">Instrument Rental</a></li>
        </ol></li>
    <li><a href="#">Contact Us</a>
    <ol><li><a href="#">By Phone</a></li>
        <li><a href="#">By E-Mail</a></li></ol>
   
    </li>
</ol>

</body>

</html>
02. november 2009 - 15:39 #6
Jeg lavede en lille hjemmeside, se http://christianjorgensen.be/swing.php

hvor jeg har gjort <li> til float:left og, som zips siger, har fjernet width:120px.  Saa skulle det virke.  Kig engang.
Avatar billede swing Nybegynder
02. november 2009 - 16:08 #7
Perfekt, jeg havde float på den forkerte classe og da jeg fjernede left: 161px på ol ol virker det perfekt.

Mange tak for hjælpen og point er på vej, hvis du vil have halvdelen zipz så post venligst et svar :-)
Avatar billede zips Juniormester
02. november 2009 - 17:38 #8
Her er en valid kode af din menu samt et svar :-)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<style type="text/css">
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
}
ol ol {
    width:150px;
    position: absolute;
    top: 26px;
    left: 0px;
    display: none;
}
ol li {
    position: relative;   
}
li {float:left;}

li a {
    display:block;
    padding: 5px;
    border: 1px solid #808080;
    background-color: #e7e7e7;
    height:15px;
    width:150px;
    text-decoration: none;
    color: #777;
}
li:hover ol, li.over ol  {
    display: inline;
}
</style>
</head>
<body>
<ol>
    <li><a href="#">Home</a></li>
    <li><a href="#">Products</a>
        <ol>
        <li><a href="#">Guitars</a></li>
        <li><a href="#">Basses</a></li>
        <li><a href="#">Accessories</a></li>
        <li><a href="#">Sheet Music</a></li>
        </ol>
    </li>
    <li><a href="#">Services</a>
        <ol>
        <li><a href="#">Guitar Repair</a></li>
        <li><a href="#">Music Lessons</a></li>
        <li><a href="#">Instrument Rental</a></li>
        </ol></li>
    <li><a href="#">Contact Us</a>
    <ol><li><a href="#">By Phone</a></li>
        <li><a href="#">By E-Mail</a></li></ol>
    </li>
</ol>
</body>
</html>


Jeg kan se du bruger li.over så regner med at du styre din menu med noget javascript, så som hover.htc så det virker i IE6, for ellers virker det ikke i IE6, ønsker man ikke at understøtte IE6 så gør opmærksom på det, som med dette http://drop-ie6.dk/hvordan
Avatar billede swing Nybegynder
02. november 2009 - 18:40 #9
Ok det kommer lidt bag på mig at det ikke understøtter IE6, for jeg ville netop undgå javascript da det skal køre på vores intranet og vi kører IE6 der.

Men jeg må se om jeg kan finde en løsning på det.
Avatar billede zips Juniormester
02. november 2009 - 19:26 #10
Her er et eksempel med javascript også som virker i IE6

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<style type="text/css">
body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: small;
    color: #333333;
}
ol {
    padding: 0px;
    margin: 0px;
    list-style-type: none;
}
ol ol {
    width:150px;
    position: absolute;
    top: 27px;
    left: 0px;
    display: none;
}
ol li {
    position: relative;   
}
li {float:left;}

li a {
    display:block;
    padding: 5px;
    border: 1px solid #808080;
    background-color: #e7e7e7;
    height:15px;
    width:150px;
    text-decoration: none;
    color: #777;
}
li:hover ol, #nav li.sfhover ol  {
    display: inline;
}
</style>
<script type="text/javascript"><!--//--><![CDATA[//><!--

sfHover = function() {
    var sfEls = document.getElementById("nav").getElementsByTagName("LI");
    for (var i=0; i<sfEls.length; i++) {
        sfEls[i].onmouseover=function() {
            this.className+=" sfhover";
        }
        sfEls[i].onmouseout=function() {
            this.className=this.className.replace(new RegExp(" sfhover\\b"), "");
        }
    }
}
if (window.attachEvent) window.attachEvent("onload", sfHover);

//--><!]]></script>
</head>
<body>
<ol id="nav">
    <li><a href="#">Home</a></li>
    <li><a href="#">Products</a>
        <ol>
        <li><a href="#">Guitars</a></li>
        <li><a href="#">Basses</a></li>
        <li><a href="#">Accessories</a></li>
        <li><a href="#">Sheet Music</a></li>
        </ol>
    </li>
    <li><a href="#">Services</a>
        <ol>
        <li><a href="#">Guitar Repair</a></li>
        <li><a href="#">Music Lessons</a></li>
        <li><a href="#">Instrument Rental</a></li>
        </ol></li>
    <li><a href="#">Contact Us</a>
    <ol><li><a href="#">By Phone</a></li>
        <li><a href="#">By E-Mail</a></li></ol>
 
    </li>
</ol>
</body>
</html>


Scriptet er her fra http://htmldog.com/articles/suckerfish/dropdowns/
Avatar billede swing Nybegynder
02. november 2009 - 19:40 #11
Super ! tak igen
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