Avatar billede krk Nybegynder
20. august 2012 - 14:12 Der er 11 kommentarer og
1 løsning

Centrere en undermenu

Hej
Jeg har et problem med at få min undermenu til at blive centreret under min hovedmenu.

Min hovedmenu består at 5 punkter (vandret menu):
- Home
- profil
- projketer
- info
- kontakt

Min undermenu til punktet "projekter" består af 4 punkter (vandret menu):
-projekt1
-projekt2
-projekt3
-projekt4

Problemet er at undermenuen ikke skal starte ude til venstre, men altid stå centreret under hovedmenuen.

Jeg kan få det til at virke hvis jeg bruger tabeller, men det er jo ikke særlig kønt.
Er der nogen der har en bedre løsning?
Avatar billede KHHP Juniormester
20. august 2012 - 14:21 #1
Har du noget HTML og CSS vi kan se, så er det ofte nemmere at finde fejlen.
Hvis du vil have en lodret dropdown-menu, så kan jeg anbefale denne tutorial: http://www.nemprogrammering.dk/gtuts/artikler/HTML/Dropdownmenu_html_css.php
Den har jeg selv brugt på et par sider og det fungerer rigtig fint.
Avatar billede olebole Juniormester
20. august 2012 - 16:29 #2
<ole>

#1 Nej, den tutorial kan ikke anbefales. Fyren bag nemprogrammering.dk har desværre ikke særlig godt styr på det, han prøver at lære andre. Derfor er der desværre rigtig mange, der lærer at kode skidt ved at lære fra det site.

float er beregnet til at skabe tekstomløb omkring en boks eller billede. display:inline-block er det, der er beregnet til at lægge block-elementer ved siden af hinanden. Og så behøver man ikke hacke sig ud af tilstødende problemer med clear  =)

/mvh
</bole>
Avatar billede DeeDawg Nybegynder
20. august 2012 - 17:05 #3
@olebole: Men denne er jo skrevet af en af hans brugere? :D
Avatar billede olebole Juniormester
20. august 2012 - 17:28 #4
#3: Sorry, men det gør ham ikke mere anbefalelsesværdig  *D
Avatar billede olebole Juniormester
20. august 2012 - 21:43 #5
@krk: Du kan prøve denne struktur, som burde kunne, hvad du søger. Farver/borders er kun lagt på for at give en idé om, hvordan du styrer hover-situationerne:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Horsitontal Menu</title>
<style type="text/css">
body {
    font-family: verdana, arial, sans-serif;
}
ul {
    margin: 0;
    padding: 0;
    list-style: none;
}
.menu li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    white-space: nowrap;
    background: silver;
    cursor: pointer;
}
.menu li div {
    position: absolute;
    display: none;
    top: 100%;
    left: -500px;
    right: -500px;
    text-align: center;
}
.menu ul {
    display: inline-block;
    text-align: left;
    border: 1px solid red;
}
.menu ul li {
    display: list-item;
    background: yellow;
}
.menu li:hover {
    background: #fff;
}
.menu li:hover div {
    display: block;
}
.menu ul li:hover {
    background: red;
    color: yellow;
}
</style>
</head>
<body>

<ul class="menu">
    <li>Menupunkt #1</li>
    <li>Menupunkt #2</li>
    <li>Menupunkt #3
        <div><ul>
            <li>Menupunkt #3_1</li>
            <li>Menupunkt #3_2</li>
            <li>Menupunkt #3_3</li>
        </ul></div>
    </li>
    <li>Menupunkt #4</li>
</ul>

</body>
</html>
Avatar billede olebole Juniormester
20. august 2012 - 21:50 #6
PS: Centreringen sørger dette DIV for:

<li>Menupunkt #3
    <div><ul>
        <li>Menupunkt #3_1</li>
        <li>Menupunkt #3_2</li>
        <li>Menupunkt #3_3</li>
    </ul></div>
</li>

Det positionerer jeg absolute og lader det rage 500px ud på hver side af det overliggende menupunkt. Derefter centrerer jeg alt inline indhold i det med text-align.

Den underliggende UL får display:inline-block og bliver derfor centreret. På den neutraliserer jeg centreringen, så alt underliggende igen bliver venstrestillet
Avatar billede olebole Juniormester
12. september 2012 - 21:56 #7
Gad vide, om du også ville spilde vores tid, hvis det var til den timebetaling vores almindelige kunder betaler?
Avatar billede krk Nybegynder
04. oktober 2012 - 09:02 #8
Olebole du har ret. Jeg burde ikke spille jeres tid, undskyld mange gange.
Menuen blev lavet om i designet lige efter jeg havde lavet indlægget og så havde jeg glemt alt om dette.
Jeg har ikke andet end dårlige undskyldninger og beklager mange gange.
I forhold til din kode så var dit forslag lige det jeg skulle have brugt. Det er nu gemt til en anden god gang.

Som et lille plaster på såret kan jeg kun tilbyde ekstra point
Avatar billede krk Nybegynder
04. oktober 2012 - 09:03 #9
Olebole: jeg mente du skulle ligge et svar ikke mig selv.
Det køre rigtig godt for mig ;-)
Avatar billede olebole Juniormester
04. oktober 2012 - 16:23 #10
Hehe ... det er okay. Jeg samler ikke points, så du accepterer bare dit eget svar. Din undskyldning er modtaget og fuldt accepteret. 'Shit happens' for os alle sammen - men det er befriende at møde folk, der har 'blommerne' til at give en undskyldning, når det sker. Respekt!  *o)
Avatar billede krk Nybegynder
05. oktober 2012 - 08:36 #11
Så vil jeg lukke :-)
Avatar billede krk Nybegynder
05. oktober 2012 - 08:37 #12
Luk
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