Kom ihåg mig?
Home Menu

Menu


center floating divs?

Ämnesverktyg Visningsalternativ
Oläst 2009-03-11, 12:42 #1
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Hej gott folk!
Har en meny som har följande struktur:

Kod:
<div id="navigation">
  <ul>
    <li>
    <a href="#">Sida 1</a>
   </li>
    <li>
    <a href="#">Sida 2</a>
   </li>
osv....
</div>
Css:
Kod:
//CSS
#navigation {
	position:relative;
	margin:0;
	z-index:1;
	width:889px;
	margin:10px 0 10px 0;
}
#navigation ul {
	list-style:none;
	margin:0; padding:0; 
}
#navigation ul li {
	float:left;
	margin:0 5px 0 5px;
	padding:5px 25px 0 25px;
	display:block;
	position:relative;
	text-align:center;
	height:49px;
	background:url(../../image_layout/main_elements.png) -270px -25px;
}
#navigation ul li a{
	font-family:Arial, Helvetica, sans-serif; 
	font-size:12px; 
	font-weight:bold;
	color:#FFF;
	text-decoration:none;
	
}
#navigation ul li a:hover{
	color:#FFF;
}
Menyn skapas snyggt och ser bra ut, som planerat. Men, eftersom jag använder float:left; så ligger alla objekt i menyn till vänster och detta skapar ett tomrum till höger.
Menyn är dynamisk så jag kan inte bara lägga till en padding till vänster för att putta in allt i mitten.

Hur får jag min meny att vara centrerad?
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 13:13 #2
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Testa:

Kod:
#navigation ul {
list-style:none;
text-align: center;
margin:0; padding:0;
}
Annars så öka paddingen på li-elementen så att dom blir bredare.
Men eftersom den är dynamisk antar jag att det inte är ett alternativ.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 13:56 #3
Syke Syke är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 297
Syke Syke är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 297
Citat:
Originally posted by Jonas@Mar 11 2009, 13:13
Testa:

Kod:
#navigation ul {
list-style:none;
text-align: center;
margin:0; padding:0;
}
Annars så öka paddingen på li-elementen så att dom blir bredare.
Men eftersom den är dynamisk antar jag att det inte är ett alternativ.
Hrm .. alla floatade element blir block, så de ska enligt standarden inte påverkas av text-align.
Syke är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 14:43 #4
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Citat:
Originally posted by Jonas@Mar 11 2009, 13:13
Testa:
Kod:
#navigation ul {
list-stylenone;
text-align center;
margin0; padding0;
}
Annars så öka paddingen på li-elementen så att dom blir bredare.
Men eftersom den är dynamisk antar jag att det inte är ett alternativ.

Detta hjälper inte, eftersom li fortfarande är float left, de berörs ej av text-align.

Har även testat margin:0 auto 0 auto; men det hjälper inte, float lägger sig helt enkelt till vänster.

Det går inte heller att göra li till inline, och ha text-align på center för då kan jag inte bestämma höjd på dem och ha bg-bild.

Förslag?
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 16:50 #5
thorsells avatar
thorsell thorsell är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 295
thorsell thorsell är inte uppkopplad
Medlem
thorsells avatar
 
Reg.datum: Feb 2004
Inlägg: 295
Hade precis samma problem som du (tror jag) och hittade lösningen på följande sida:

http://www.cssplay.co.uk/menus/centered.html
thorsell är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 17:02 #6
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Citat:
Originally posted by thorsell@Mar 11 2009, 16:50
Hade precis samma problem som du (tror jag) och hittade lösningen på följande sida:

http://www.cssplay.co.uk/menus/centered.html
TACK! Helt otroligt, hade gett upp hoppet! Trotts mycket sökande på Google.

Lösningen för de som är intresserade i kod:

Kod:
//CSS
#navigation {
	width:100%; overflow:hidden;
}
#navigation ul {
	float:left;
	position:relative; left:50%;
}
#navigation li {
	float:left;
	position:relative; right:50%;
}

//HTML
<div id="navigation">
  <ul>
    <li>
    <a href="#">Sida 1</a>
   </li>
    <li>
    <a href="#">Sida 2</a>
   </li>
osv....
</div>
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2009-03-11, 17:11 #7
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Jonas Jonas är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Feb 2004
Inlägg: 3 364
Hmm har använt en sådan lösning, men där blev vänstersidan centrerad så man fick köra en "margin-left: -50px" på en 100px bred div.
Jonas är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:58.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017