2013-02-13 9 views
7

Ist es möglich, vertikales Layout mit CSS nur zu implementieren, und nicht mit HTML-Elementen?Vertikales Layout mit CSS ohne Verwendung von brechenden Elementen?

Ich habe eine Liste von divs in einem div. Standardmäßig ist das nächste Element bis zum letzten, wenn es keinen Platz rechts gibt, wird es darunter platziert.

Ich möchte das gleiche mit CSS-Stil-Einstellungen erreichen. Ist es möglich?

von CSS-nur ich meine, wir haben div und seine Kinder, und nicht fügen etwas Besonderes wie:

  • Zeilenumbrüche Elemente (<br/>, <div style="clear:both;"/>)
  • UL-Tags
  • Tabellen (ja, immer noch, fg JSF fast ausschließlich auf sie verwendet)

So:

<div id="menu"> 
    <a href="something1">Page 1</a> 
    <a href="something2">Page 2</a> 
    <a href="something3">Page 3</a> 
</div> 

und CSS-Implementierung vertikales Layout:

#menu { ??? } 
#menu a { ??? } 

Gibt es ein ??? mit dem ich erreichen könnte, was ich will?

+0

also, wollen Sie Anker Tags nebeneinander? oder über einander – iConnor

+0

Eins unter anderen, als ob es einen
nach jedem Anker gab –

+0

Ich habe meine Antwort hinzugefügt – iConnor

Antwort

12

Anzeige der Anker-Tags als Blockelemente.

#menu a { 
display: block; 
} 
+0

Es ist so einfach, ich kann nicht glauben, dass ich es nicht going goting für vertikale Positionierung nur mit CSS .. –

1

Meinst du sowas?

http://jsfiddle.net/7Y9jS/

#menu { 
    width: 300px; 
} 

#menu a { 
    display: block; 
    background: #ccc; 
    color: #000; 
    padding: 10px 0; 
    text-align: center; 
    margin-bottom: 2px; 
} 


<div id="menu"> 
    <a href="something1">Page 1</a> 
    <a href="something2">Page 2</a> 
    <a href="something3">Page 3</a> 
</div> 
+0

Anzeige: Block ist der Schlüssel –

0

Satz Anzeigeblock mit einem Schwimmer

#menu a { 
    display: block; 
} 
0

Verwendung links

#menu a { 
    float:left; 
} 

und dann die Klassengruppe zu Ihrem #menu hinzufügen

.group:before, 
.group:after { 
    content: ""; 
    display: table; 
} 
.group:after { 
    clear: both; 
} 
.group { 
    zoom: 1; /* For IE 6/7 (trigger hasLayout) */ 
}