Permalänk
Medlem

CSS-meny krånglar

Hej

Prio 1
När jag försöker ändra min CSS-meny från vanlig till en med undermeny går det inte som jag vill. Jag har fixat fram så att undermenyn syns när jag hovrar över respektive ord i huvudmeny. Det som däremot jag ej kan få bukt på är att jag inte kan klicka på undermeny efter som att den försvinner när man försöker föra muspekare dit.

Prio 2
Jo en annan sak jag inte heller vet hur jag ska lösa är hur jag ska få varje enskild undermeny att ligga centrerad med respektive ord i huvudmenyn.
Sub 2 ska ligga centrerad under nyheter, sub 3 centrerad under auktioner osv.

Vill/behöver du se hur sidan ser ut just nu kan jag länka i PM.

HTML

<body> <div id="page-wrap"> <ul id="nav"> <li class="current"><a href="#">HEM</a> <ul> <li><a href="#">Sub1</a></li> <li><a href="#">Sub1</a></li> <li><a href="#">Sub1</a></li> </ul> </li> <li><a href="#">NYHETER</a> <ul> <li><a href="#">Sub2</a></li> <li><a href="#">Sub2</a></li> <li><a href="#">Sub2</a></li> </ul> </li> <li><a href="#">AUKTIONER</a> <ul> <li><a href="#">Sub3</a></li> <li><a href="#">Sub3</a></li> <li><a href="#">Sub3</a></li> </ul> </li> <li><a href="#">VILLKOR</a> <ul> <li><a href="#">Sub4</a></li> <li><a href="#">Sub4</a></li> <li><a href="#">Sub4</a></li> </ul> </li> <li><a href="#">OM</a> <ul> <li><a href="#">Sub5</a></li> <li><a href="#">Sub5</a></li> <li><a href="#">Sub5</a></li> </Ul> </li> <li><a href="#">Kontakt</a> <ul> <li><a href="#">Sub6</a></li> <li><a href="#">Sub6</a></li> <li><a href="#">Sub6</a></li> </li> </ul> <div id="Widget"> </div> </ul> <object width="980" height="120" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> <param name="movie" value="http://kampanj.tradera.com/widget/20100702/widget.swf"/> <param name="flashvars" value="backgroundColor=%239b00ff&foregroundColor=%23ffffff&sellerIDs=2176828"/> <!--[if !IE]>--> <object type="application/x-shockwave-flash" data="http://kampanj.tradera.com/widget/20100702/widget.swf" width="980" height="120"> <param name="flashvars" value="backgroundColor=%239b00ff&foregroundColor=%23ffffff&sellerIDs=2176828"/> <!--<![endif]--> <p><a href="http://www.tradera.com/category/category.aspx?ftgnr=2176828">Auktioner på Tradera</a></p> <p><a href="http://widget.tradera.com/">Skapa din egen Tradera-widget</a></p> <!--[if !IE]>--> </object> <!--<![endif]--> </object> <div id="Widget">

CSS

[pre]width:980px; ma div#page-wrap { rgin0: auto; } #nav { list-style:none; height: 75px; width:980px; position:relative; line-height:1.4em; } #nav li { height: 15px; width: 100px; float:left; font-size: 1.4em; text-align:center; padding: center; } #nav a { height:1.5em; display:block; text-decoration:none; color:#000; background: margin-top: 110px; margin-bottom: 15px; color: black; padding-top: 2px; font-weight: bold; position: center; background:green; } #nav a:active, #nav a:focus, #nav a:hover { color: red; background:#deeef2; } /* --------- Sub Nav --------- */ #nav li.current ul { left:0px; } #nav ul { display: none; position:center; left: 0em; height:0px; width:980px; list-style:none; padding:center; margin-right: 100px; padding-top:-100px; } #nav li:hover > ul { display:inline; position: absolute; width:auto; margin: 0px; } #nav ul a { font-size:60%; width: 100px; height:0px; padding:10px; margin:-10px; background: green; } #nav li:active ul, #nav li:hover ul { color:red; left:0; } div#widget { width: 980px; height: 12px;

Permalänk
Medlem

Prio ett löst. Tvåan kvar.

Permalänk
Medlem
Skrivet av Uozon:

Prio ett löst. Tvåan kvar.

Bra om du berättar hur du löste problemet, fler kan ha samma problem och kom hit via en sökning.

Skickades från m.sweclockers.com

Visa signatur

...

Permalänk
Medlem

[QUOTE=Calvin Harris;12573761]Bra om du berättar hur du löste problemet, fler kan ha samma problem och kom hit via en sökning.

Skickades från m.sweclockers.com[/QUOTE]
Ska, men ville kolla handbollen.

#nav a { height:1.5em; display:block; text-decoration:none; color:#000; margin-top: 0px; margin-bottom: 0px; color: black; padding-top: 2px; font-weight: bold; position: center; background:none;

Jag ändrade margin-top och margin-bottom till 0px på båda.

Någon som har någon lösning till Prio två?

Permalänk
Medlem

Jag kan få till det att se ut som nummer ett i denna skiss med inte som nummer 2. Det är nummer två jag vill uppnå.

Permalänk
Medlem
Skrivet av Uozon:

Jag kan få till det att se ut som nummer ett i denna skiss med inte som nummer 2. Det är nummer två jag vill uppnå.

http://i.imgur.com/HYCvm.png

edit: jag har fel, det jag skrev först löser inte problemet (om någon råkade se det). Jag får läsa mer noggrant i fortsättningen

#nav > li ska ha position:relative och #nav > li > ul ska justeras mot sin förälders vänsterkant med position:absolute; left:0. Det är en början. Att centrera undermenyn relativt till sin förälder — vilket är hur jag tolkar din bild — är krångligare.

position: center i din spec ovan är förresten felaktigt. (negativ padding fungerar inte heller)

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

edit: jag har fel, det jag skrev först löser inte problemet (om någon råkade se det). Jag får läsa mer noggrant i fortsättningen

#nav > li ska ha position:relative och #nav > li > ul ska justeras mot sin förälders vänsterkant med position:absolute; left:0. Det är en början. Att centrera undermenyn relativt till sin förälder — vilket är hur jag tolkar din bild — är krångligare.

position: center i din spec ovan är förresten felaktigt. (negativ padding fungerar inte heller)

Sätter jag position:relative i #nav > li så blir undermenyn vertikal istället för horisontell.

Hittade detta men det verkar som du säger krångligt.

http://www.sitepoint.com/forums/showthread.php?661923-centeri...

Permalänk
Medlem
Skrivet av Uozon:

Sätter jag position:relative i #nav > li så blir undermenyn vertikal istället för horisontell.

Hittade detta men det verkar som du säger krångligt.

http://www.sitepoint.com/forums/showthread.php?661923-centeri...

Det är en hel del fel i din CSS. Alla position:center som sagt, men även padding:center, negativ padding-top, rgin0: auto (som du har på en av de första raderna), background utan värde.

position:relative bör inte ha impakt på hur din meny raddar upp sig, men det kan finnas andra stilregler som i kombination ger det resultatet.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Det är en hel del fel i din CSS. Alla position:center som sagt, men även padding:center, negativ padding-top, rgin0: auto (som du har på en av de första raderna), background utan värde.

position:relative bör inte ha impakt på hur din meny raddar upp sig, men det kan finnas andra stilregler som i kombination ger det resultatet.

Jag bara testar mig fram, har rensar bort det som är fel och som ej fyller någon funktion. Jag tror även jag fått fram en lösning, undermenyn lägger sig där jag vill ha den, men det blir lite olika i Chrome och IE9 jämfört med Firefox där den ligger där jag vill ha den.

div#page-wrap { width:980px; margin: 0 auto; } #nav { list-style:none; height: 55px; width:980px; position:relative; line-height:1.4em; } #nav li { position:relative height: 15px; width: 100px; float:left; font-size: 1.4em; text-align:center; } #nav a { height:1.5em; display:block; text-decoration:none; color:#000; margin-top: 0px; margin-bottom: 0px; color: black; padding-top: 0px; font-weight: bold; position: center; background:none; } #nav a:active, #nav a:focus, #nav a:hover { color: red; background:none; } /* --------- Sub Nav --------- */ #nav li.current ul { left:auto; } #nav ul { display: none; position:absolute; left: 0em; width: 100px; height:0px; width:980px; list-style:none; } #nav li:hover > ul { display:inline; position:absolute; width:auto; } #nav ul a { font-size:60%; width: 100px; height:20px; padding:center; background: none; } #nav li:active ul, #nav li:hover ul { color:red; left:auto; margin-left: -185px; } div#widget { width: 980px; height: 12px;

Permalänk
Medlem

Varför blir det olika stort mellanrum mellan de olika orden? Utrymmet mellan Hem och nyheter samt om och kontakt är ju mycket större än mellan de andra.

Permalänk
Medlem
Skrivet av Uozon:

Varför blir det olika stort mellanrum mellan de olika orden? Utrymmet mellan Hem och nyheter samt om och kontakt är ju mycket större än mellan de andra.

Om du har koden uppe nånstans är det mycket lättare att hjälpa till.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Om du har koden uppe nånstans är det mycket lättare att hjälpa till.

Jag tror det kan tolkas som reklam.

Preview.

Så ser menyn ut nu.

Permalänk
Medlem
Skrivet av Uozon:

Jag tror det kan tolkas som reklam.

Preview.

Så ser menyn ut nu.

Hu ja
Tror inte det är någon fara. Du har satt fast bredd på alla underliggande li- och a-element, vilket leder till att ett kort menyalternativ får större luftspalt än ett längre.

edit:
CSS:en nedan ger det resultat du är ute efter. För att kunna centrera undermenyn under det toppalternativ den tillhör är det enklaste att ge den fast bredd, se #nav ul nedan. left:50% skjuter in undermenyns vänsterkant till mitten av föräldraelementet (som har position:relative) och margin-left:-100px drar tillbaka undermenyn med halva dess angivna bredd. Resultatet blir att menyalternativets undermeny centreras.

Undermenyn har här en ljusgrå bakgrund för att visa hur stor den är. Undermenyns menyalternativ har en orange ram för att visa hur de beter sig inuti menyn.

<style> #nav, #nav ul { list-style:none; margin:0; padding:0; } #nav ul { background:#eee; display:none; left:50%; margin-left:-100px; position:absolute; width:200px; } #nav > li { float:left; position:relative; } #nav > li:hover ul { display:block; } #nav ul > li { border:1px solid #fa0; display:inline; } </style>

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem

Man tackar för det fina svaret.