Masha: vertikale Listeneinträge vertical-align

Hallo,
ich habe eine vertikale Liste, die ich als display: table darstelle, damit ich die Eigenschaft border collapse nutzen kann.

  
ul#navigation2 {  
	display: table;  
	border-collapse: collapse;  
	list-style: none;  
	width: 231px;  
	margin: 0px;  
	float: left;  
}  
ul#navigation2 li {  
	display: table-row;  
	border: 2px solid #FFF;  
	height: 35px;  
	text-align: center;  
	vertical-align: middle;/* das funktioniert nicht */

Das vertical-align wird ignoriert, da ich display: table-row anwende.
Wie bekomme ich den die Listeneinträge vertikal zentriert?

Besten Dank und viele grüße

  1. Om nah hoo pez nyeetz, Masha!

    ul#navigation2 li { display: table-row; border: 2px solid #FFF; height: 35px; text-align: center; vertical-align: middle;/* das funktioniert nicht */[/code]

    Das vertical-align wird ignoriert, da ich display: table-row anwende. Wie bekomme ich den die Listeneinträge vertikal zentriert?

    nur eine ungetestete Vermutung: display: table-cell

    Matthias

    --
    http://www.billiger-im-urlaub.de/kreis_sw.gif
    1. nur eine ungetestete Vermutung: display: table-cell

      dann wird die Liste leider horizontal
      Es geht über line-height: 35px; aber das ist eine hässliche Lösung

  2. ich habe eine vertikale Liste, die ich als display: table darstelle, damit ich die Eigenschaft border collapse nutzen kann.
    [code lang=css]

    Das vertical-align wird ignoriert, da ich display: table-row anwende.
    Wie bekomme ich den die Listeneinträge vertikal zentriert?

    Hast du aus CSS Sicht keine Listeneinträge, sondern Tabellenreihen und anonyme Tabellenzellen, so gar nicht.

    Die Frage ist eher: Warum brauchst du border-collapse?
    Nutze
    li{ border: ... }
    li:first-child{ border: ... }

    mfg Beat

    --
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    Der Valigator leibt diese Fische
    1. li{ border: ... }
      li:first-child{ border: ... }

      mfg Beat

      Habe ich gerade ausprobiert. Leider greift vertical-align auch hier nicht. Kann das sein, dass vertical align bei <li> nicht funktioniert? Was hältst Du von der Lösung mit line-hight?
      Das ohne display table zu machen ist auf jeden Fall besser. kannte first-chil nicht.

      1. Hi,

        Leider greift vertical-align auch hier nicht. Kann das sein, dass vertical align bei <li> nicht funktioniert?

        http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align - “applies to: ...”

        Was hältst Du von der Lösung mit line-hight?

        Kann man nutzen, wenn man sich *sicher* ist, dass der Inhalt unter allen Umständen einzeilig bleiben wird. (Also auch bei Vergrößerung der Schrift, Änderung der Fensterbreite, etc.)

        MfG ChrisB

        --
        RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
        1. http://www.w3.org/TR/CSS21/visudet.html#propdef-vertical-align - “applies to: ...”

          Jetzt mal für so newbes wie mich: li ist kein "inline-level" oder?

          Was hältst Du von der Lösung mit line-hight?

          Kann man nutzen, wenn man sich *sicher* ist, dass der Inhalt unter allen Umständen einzeilig bleiben wird. (Also auch bei Vergrößerung der Schrift, Änderung der Fensterbreite, etc.)

          Kann ich leider nicht sicher sein.Irgendeine saubere Lösung werd ich schon noch fidnen.

          1. @@Masha:

            nuqneH

            […] wenn man sich *sicher* ist, dass der Inhalt unter allen Umständen einzeilig bleiben wird.
            Kann ich leider nicht sicher sein.

            also kannst du auch nicht sicher sein, dass 35 Pixel Höhe für die Listitems ausreichend sind.

            Wie wär’s denn, den Listitems keine feste Höhe, aber oben und unten Padding zu geben?

            Qapla'

            --
            Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
            (Mark Twain)
            1. also kannst du auch nicht sicher sein, dass 35 Pixel Höhe für die Listitems ausreichend sind.

              Die 35px hatte ich erst einmal zu Vorschauzwecken gesetzt.

              Wie wär’s denn, den Listitems keine feste Höhe, aber oben und unten Padding zu geben?

              Padding ist ein guter Tipp. werde ich Heutabend mal probieren. Besten Dank für die Unterstützung!

      2. Hi,

        Kann das sein, dass vertical align bei <li> nicht funktioniert?

        nein. CSS-Eigenschaften richten sich *nur* nach CSS-Regelwerken, niemals nach dem Namen eines Elements. Ein Unterschied wäre allenfalls denkbar, wenn <li> das Root-Element des Dokuments wäre (genauer gesagt den Viewport repräsentiert), was in HTML niemals der Fall sein kann.

        Ausnahmen machen natürlich Browser-Bugs, aber diejenigen Browser, die hier eine Rolle spielen, verstehen display:table-row u.ä. eh nicht.

        Was hältst Du von der Lösung mit line-hight?

        Ein üblicher und kampferprobter Weg, um einzeilige Texte vertikal zu zentrieren.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes