|
|||
Horizontales Menü, Zeilenumbruch verhindern?
Hi zusammen,
ich bastele gerade an einem horizontalen Menü mit vertikalem DropDown. Das funktioniert auch, ich habe ein grundlegenderes Problem: das Menü kann u.U. sehr viele Menüpunkte enthalten, so dass die erste Zeile breiter als der Bildschirm wird. Ich möchte dann horizontal scrollen müssen, keinen Zeilenumbruch. Das bekomme ich leider nicht hin Folgender (vereinfachter) Code als Beispiel für das Zeilenumbruch-Problem, nicht für das Menü: Code:
<style type="text/css"> * { padding:0; border:0; margin:0; } #navigationContainerDiv { background-color:#AAAAAA; padding:0; min-width:100%; height:20px; } navigationFirstLine, #navigationFirstLine ul { margin:0; list-style:none; } #navigationFirstLine li { float:left; } .classTopLevel { background-color:#AAAAAA; font-family:Verdana, Helvetica, sans-serif; text-transform: uppercase; height:20px; font-size:11px; line-height:20px; font-weight: bold; } </style> Code:
<div id="navigationContainerDiv"> <div id="navigationFirstLine"> <ul id="idTopLevelUl"> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> <li class="classTopLevel">Text01 </li> </ul> </div> </div> Hat dazu jemand eine Idee? Ich wäre sehr dankbar ... Gruß, Basti |
Sponsored Links |
|
|||
Hi,
schau Dir bitte das hier mal an. Noch eine kurze Anmerkung: Dein Markup finde ich nicht besonders sauber, die Klassifizierungen der Listenpunkte sind unnötig, da sie via Nachfahrenselektoren im CSS angesprochen werden können. Und was sollen diese Leerzeichen innerhalb der Links? Abstände werden mit margin oder padding vorgenommen, aber doch nicht mit HTML. Wozu die beiden <div>? Entferne sie und übertrage die Formatierung auf <ul>. Liebe Grüße Andreas |
Sponsored Links |
|
|||
Hi Andreas,
zuerst mal danke für die schnelle Antwort. Ja, du hast Recht, das Markup ist unsauber. Es war halt nur als schnelles Beispiel gedacht, um das Problem zu verdeutlichen (habe das eigentliche Menü auf das Wesentliche zusammen gestrichen, da sind z.B. die beiden DIVs übrig geblieben; die Leerzeichen hab ich nur schnell reingeklimpert ... normalerweise sind da noch LIs mit Grafiken zwischen, das ging so einfach schneller - hat keinen wirklichen Hintergedanken). Zu deinem white-space-Vorschlag: leider löst das das Problem nicht; ich behalte dem Umbruch, auch mit white-space:nowrap. Selbst wenn ich alle LIs in eine gaaanz lange Zeile schreibe und dann mit white-space: pre arbeite, bricht er um ... Grüße, Basti /edit: noch mal der Code, diesmal sauber: Code:
<html><head> <style type="text/css"> * { padding:0; border:0; margin:0; } ul { background-color:#AAAAAA; min-width:100%; height:20px; list-style:none; /*white-space: nowrap;*/ } li { float:left; background-color:#AAAAAA; font-family:Verdana, Helvetica, sans-serif; text-transform: uppercase; height:20px; font-size:11px; line-height:20px; font-weight: bold; margin-right: 10px; /*white-space: nowrap;*/ } </style> </head> <body> <ul> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> <li>Text</li> </ul> </body></html> Geändert von basti0071 (16.09.2008 um 10:49 Uhr) |
|
|||
Deinem sauberen Code fehlt die Doctype-Angabe.
Die white-space-Eigenschaft wirkt nicht bei Floats. Wohl aber bei inline und inline-block.
__________________
Corina Rudel Online-Einsteigerkurs HTML/CSS | Buch: Fortgeschrittene CSS-Techniken |
|
|||
Wenn Du die li's floatest, nimmst Du sie aus dem inline-Kontext raus, no-wrap kann dann nicht mehr funktionieren.
Gib ihnen display:inline mit und streiche das float, das sollte dein Problem lösen. Edit: zu spät
__________________
Grüsse Andreas- auch mal wieder da... Design isn't about the tools, it's about creating the best experience for the user. A design should be based on usability, accesibility, aesthetics, but never on floats, lists or background images. ( by Cameron Adams) Wiedergelesen: > hier und hier [Foren-Links] Dein Post? Klar, DAS vorher gelesen? Hilft. ## User-Landkarte |
|
|||
Hallo Leute!
Ich habe im Grunde genau das gleich Problem ... ich möchte einen Zeilenumbruch in einer horizontalen Liste verhindern, wenn das Browserfenster zu klein wird. Dieser Umbruch zerschießt mir nämlich das gesamte Layout Hier mal das HTML-Zeugs (wie oben schon, einfach zusätzliche Listenelemente hinzufügen, wenn der beschriebene Effekt nicht auftritt): HTML-Code:
<div id="nav_main"> <ul> <li><a href="#">Button 1</a></li> <li><a href="#">Button 2</a></li> <li><a href="#">Button 3</a></li> <li><a href="#">Button 4</a></li> <li><a href="#">Button 5</a></li> <li><a href="#">Button 6</a></li> </ul> </div> Code:
#nav_main { width: 100%; overflow: hidden; float: left; display: inline; background: red; line-height: 0; } #nav_main ul { display: inline; float: left; margin: 0; margin-left: 50px; padding: 0; } #nav_main ul li { display: inline; float: left; font-size: 1.0em; line-height: 1em; list-style-type: none; margin: 0; padding: 0; } Den float-Befehl habe ich auch schon rausgenommen und es hat nicht funktioniert ... außerdem habe ich statt dem roten Hintergrund eine Grafik drin, die wird nicht mehr angezeigt, wenn float fehlt oO so ein sch**** xD Ich hoffe mal, ihr könnt mir helfen ... denn so langsam verliere ich die Geduld ... -.- MfG Dän |
|
||||
Die li dürfen nicht floaten, und white-space geht an ul, sonst wirkt es nur innerhalb der li. Wirf dann bei allen Elementen float, overflow und display raus (nur li behält letzteres).
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten. Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.) |
Sponsored Links |
|
|||
hmm ... also in dem Beispielchen hats geklappt ... aber in meinem Projekt net?! ... komische Sache!
Gibt es noch weitere Ideen, die ich verwenden/ausprobieren/testen könnte? Danke für die flotte Antwort Geändert von Dämn Dän (01.12.2008 um 15:17 Uhr) |
Sponsored Links |
Stichwörter |
div, verhindern, zeilenumbruch |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Fliesendes horizontales Menü 100% Breite | Overtone | CSS | 0 | 01.05.2010 16:19 |
Darstellungsproblem | flohpapa | CSS | 3 | 16.12.2009 08:55 |
horizontales Menü | sarahg | CSS | 9 | 10.02.2009 14:25 |
Horizontales Menü Problem unter IE6 | Xtremo | CSS | 8 | 14.02.2007 10:58 |
Zeilenumbruch verhindern | Steakfred | CSS | 1 | 26.04.2006 10:07 |