webForumDet fria alternativet

Horisontell lista blir trappa i IE

HTML & CSS

12 svar · 774 visningar · startad av Mr. N.

Medlem sedan sep. 20025 506 inlägg
Frågan#1

Jag håller på och experimenterar lite med horisontella listor. Jag har nu lyckats få till det rätt stiligt och det funkar utmärkt i Opera och Firefox, men i IE blir den horisontella listan en trappa istället.
Här är sidan ifråga: http://pong.muffinmilitia.net/pong2
Och här är lite kod:
CSS:

.menulist {
	list-style-type: none;
	margin-left: 0px;
	padding-left: 0px;
}

.menulist li a {
	list-style-type: none;
	display: block;
	float: left;
	font-size: 80%;
	padding: 5px;
	width: 80px;
	text-decoration: none;
	color: black;
	border-left: 1px solid #8597A6;
	border-right: 1px solid #8597A6;
	background: url("images/ponggradienthover.gif") repeat-x 20px;
	text-align: center;
}

.menulist li a:hover {
	border-left: 1px solid #465058;
	border-right: 1px solid #465058;
	color: white;
	background: url("images/ponggradient.gif") repeat-x;
}
<ul class='menulist'>
<li><a href='createaccount.php'>New user</a></li>
<li><a href='login.php'>Log in</a></li>
<li><a href='faq.php'>FAQ</a></li>
</ul>

Jag antar att jag har missat nåt kring float och display: block, men jag har stirrat mig blind på det nu. :p

Medlem sedan juni 2004128 inlägg
#2

Jag har en liknande meny på en sida som jag gjort, och där har jag gjort ungefär såhär istället..

.menulist ul {
	list-style-type: none;
	margin-left: 0px;
	padding-left: 0px;
}

[I].menulist ul li { display: [B]inline[/B];}[/I]

.menulist ul li a {
	float: left;
	font-size: 80%;
	padding: 5px;
	width: 80px;
	text-decoration: none;
	color: black;
	border-left: 1px solid #8597A6;
	border-right: 1px solid #8597A6;
	background: url("images/ponggradienthover.gif") repeat-x 20px;
	text-align: center;
}

.menulist ul li a:hover {
	border-left: 1px solid #465058;
	border-right: 1px solid #465058;
	color: white;
	background: url("images/ponggradient.gif") repeat-x;
}
<div class="menulist">
<ul>
<li><a href='createaccount.php'>New user</a></li>
<li><a href='login.php'>Log in</a></li>
<li><a href='faq.php'>FAQ</a></li>
</ul>
</div>

Finns säkert ett mycket enklare och bättre sätt, men jag tittade bara på hur jag har gjort förut eftersom jag kom att tänka på det när jag såg din meny.

Ändrade till display: inline; och satte listan i en div med menulistklassen istället, vet inte om det är "rätt", men det funkar :)

Medlem sedan aug. 20068 090 inlägg
#3

Jag tror du måste visa ALL kod och ALL CSS eftersom det är viktigt att se vad som innesluter menyn. För att det ska gå så smidigt som möjligt vore det ju bra om du kunde ladda upp sidan nånstans och ge en länk.

Medlem sedan juni 200032 967 inlägg
#4

Danne V skrev:

För att det ska gå så smidigt som möjligt vore det ju bra om du kunde ladda upp sidan nånstans och ge en länk.

Mr. N. skrev:

Här är sidan ifråga: http://pong.muffinmilitia.net/pong2

Medlem sedan aug. 20068 090 inlägg
#5

@nders skrev:

Danne V skrev:

För att det ska gå så smidigt som möjligt vore det ju bra om du kunde ladda upp sidan nånstans och ge en länk.

Mr. N. skrev:

Här är sidan ifråga: http://pong.muffinmilitia.net/pong2

DUH.....
Jag har sagt till mig själv att INTE skriva inlägg föränn efter 4 muggar expresso...
F'låt.

Medlem sedan aug. 20068 090 inlägg
#6

Gissning:

Du har inte formaterat <li> någonstans. Delar av formateringen för <a> ska egentligen läggas på <li>, t.ex. float och även borders och annat.

EDIT: Läste nyss vad jag skrivit och kom att tänka på att det kanske bör förklaras:

Om du inte formaterar <li>, så är det sannolikt att olika webbläsare lägger in sin "default". Om då din formatering för <a> som ju ligger inuti <li> t.ex. är bredare/större/annorlunda än webbläsarens "default", så kan konstiga grejer hända.

Alltså: formatera <li> innan du formaterar <a>. Se till att få med border, padding, float, osv.

Medlem sedan sep. 20025 506 inlägg
#7

Jaha, jag tror jag har missförstått syntaxen lite. Jag trodde att .menulist li a { [X] } formaterade både <li> och <a> enligt [X], men det betyder alltså att bara <a> som ligger inom <li> formateras?

tranceformer: det finns en väldigt bra anledning till varför jag kör display: block och float: left istället för display: inline, naturligtvis kommer jag inte på vad anledningen är just nu men... ;)

Medlem sedan mars 20041 505 inlägg
#8

Mr. N. skrev:

det finns en väldigt bra anledning till varför jag kör display: block och float: left istället för display: inline

Antagligen för att man inte kan sätta width och height på en inline. :)

Medlem sedan sep. 20025 506 inlägg
#9

Ah, just det. Ville ha knapparna i samma bredd oavsett vad länktexten var, tack Troxy. :)

Medlem sedan nov. 20051 596 inlägg
#10

Men vad händer om du bara gör den här ändringen

.menulist li {
	list-style-type: none;
	display: block;
	float: left;
	font-size: 80%;
	padding: 5px;
	width: 80px;
	text-decoration: none;
	color: black;
	border-left: 1px solid #8597A6;
	border-right: 1px solid #8597A6;
	background: url("images/ponggradienthover.gif") repeat-x 20px;
	text-align: center;
}
.menulist a{
		text-decoration: none;
}{

Hinner inte testa men tycker att det borde gå. Kanske behövs något mer i a för att det ska se ut som du vill, men för att undvika trappan...?

Medlem sedan juni 2004128 inlägg
#11

Troxy skrev:

Antagligen för att man inte kan sätta width och height på en inline. :)

Jaha där ser man :)

Medlem sedan sep. 20025 506 inlägg
#12

Sådär, nu blev det som jag vill ha det. :)

.menulist li {
	display: block;
	float: left;
	font-size: 80%;
	text-align: center;
}

.menulist a {
	text-decoration: none;
	color: black;
	display: block;
	float: left;
	width: 80px;
	padding: 5px;
	background: url("images/ponggradienthover.gif") repeat-x 20px;
	border-left: 1px solid #8597A6;
	border-right: 1px solid #8597A6;
	
}

.menulist li a:hover {
	border-left: 1px solid #465058;
	border-right: 1px solid #465058;
	color: white;
	background: url("images/ponggradient.gif") repeat-x;
}
Medlem sedan aug. 20068 090 inlägg
#13

Gôtt mos!

267 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
132 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)