Hallo!
Dieses Problem hat mich auch schon eine zeitlang beschäftigt (Ich hatte sogar vor kurzer Zeit auch mal eine Frage dazu gestellt, die ich jetzt aber nicht mehr wiederfinde - komisch...).
In Menüs finde ich es sowieso besser, die Links auf block zu setzen, wenn man sie nicht gleich in eine ul packt. Besser als diese <a ...></a><br>-Sache...
Du kannst natürlich einfach eine Breite für die Links angeben. Aber wenn ich dich richtig verstanden habe, wolltest du das nicht.
Also, allgemein gesprochen, besteht das Problem darin: Wie kann man ein Blockelement dazu kriegen, nur so breit zu sein, wie der Inhalt es erfordert, ohne eine feste Breite anzugeben?
Ich habe folgendes ausprobiert, und es scheint echt eine Lösung zu sein - oder sieht jemand Schwierigkeiten?
.element {
float: left;
}
.element + * {
clear: left;
}
Der IE kennt diesen Selektor allerdings nicht, also muss man dann doch wieder ein spezielles Element angeben:
.elementdanach {
clear: left;
}
Oder, wenn die Links in deinem Beispiel nicht in einem umgebenden Element sitzen, auf das man obiges anwenden kann, geht wahrscheinlich auch das:
.menulink {
display: block;
float: left;
clear: left;
}
Hilft das? Anderweitige Anmerkungen?
Liebe Grüße
Fredo