Ergebnis 1 bis 9 von 9
  1. #1
    Finkenwerder Herbstprinz
    Themenstarter

    Registriert
    03.2008
    Ort
    Berlin, Germany, Germany
    Beiträge
    463

    Vertikales zentrieren eines Anker-Textes

    Liebe Community!

    Ich suche jetzt seit einer halben Ewigkeit eine Möglichkeit, den Text in einem Anker (<a>) vertikal zu zentrieren.
    Leider kann ich nur den Anger nehmen, da ich ein dynamisches Menü mit CSS programmiere. Und da funktioniert nur das <a> Element, an einer bestimmten Stelle.

    Allerdings möchte ich auch nicht einfach line-height:50px; benutzen, da ich den Umbruch an manchen Stellen brauche.


    Für jegliche Hilfe bin ich sehr dankbar!
    Liebe Grüße & schönen Abend
    Julian
    Geändert von Mini-Leopard (24.05.2011 um 20:38 Uhr) Grund: Ein unabsichtlicher Smiley…
    Mini-Leo

    You can only take what you can carry.

  2. #2
    Schöner von Nordhausen Avatar von timmy38233
    Registriert
    07.2008
    Alter
    18
    Beiträge
    327
    Ich denke, das sollte mit:
    Code:
    display: table-cell;
    vertical-align: middle
    funktionieren. Damit wird das a-Element wie eine Tabellen-Zelle behandelt und bei dieser funktioniert i.d.R. das vertical-align… Kann es leider gerade nicht ausprobieren.
    MacBook (white) 2 GHz Intel Core Duo - 2 GB Ram + Mighty Mouse (Wireless)
    MacBook Pro (2010) 2.4 GHz Intel Core 2 Duo - 4 GB Ram


    "The things you own, they end up owning you." - Tyler Durden (Fight Club)


  3. #3
    drp
    drp ist offline
    Ontario Avatar von drp
    Registriert
    04.2011
    Beiträge
    342
    Oder:
    CSS:
    Code:
    display: block; text-align: center;
    oder
    Code:
    display: inline-block; margin: 2px auto;
    Viele Grüße von DRP - Homepage
     MacBook Air 11,6" |  iPhone 3GS 8GB |  iPad 2 16GB weiß Wi-Fi |  Magic Mouse | PC

  4. #4
    Finkenwerder Herbstprinz
    Themenstarter

    Registriert
    03.2008
    Ort
    Berlin, Germany, Germany
    Beiträge
    463
    @timmy38233:
    Funtioniert leider nur bedingt.
    Ich mache:
    Code:
    display:block;
    Wenn ich allerdings Deine Variante verwende, wird das Element nicht mehr in der richtigen Höhe angezeigt.
    Auch passt sich der Hintergrund an den Inhalt an.
    Das führt dazu, dass das Menü so aussieht:

    Vertikales zentrieren eines Anker-Textes-bildschirmfoto-2011-05

    Die Unterpunkte sollen allerdings so hoch sein, wie die Hauptpunkte.
    Und die Breite sollte sich auch automatisch an die Hauptpunkte anpassen, wie das bei block der Fall ist.


    @drp:
    Deine Version beschäftigt sich nicht mit vertikalem Zentrieren, sondern mit horizontalem.
    Allerdings zerstört auch diese Variante das Layout nahezu vollständig:

    Vertikales zentrieren eines Anker-Textes-bildschirmfoto-2011-05


    Ich habe es jetzt vorerst mit padding-top: gelöst.
    Zwar ist da noch nichts so, wie es sein soll, allerdings ist es schon mal besser.


    Trotzdem schon mal schönen Dank für die Vorschläge.
    Hoffentlich klappt das noch...
    Mini-Leo

    You can only take what you can carry.

  5. #5
    drp
    drp ist offline
    Ontario Avatar von drp
    Registriert
    04.2011
    Beiträge
    342
    Achso! Versuch mal Display: Inline-Block; und dann margin: Auto Auto;
    Viele Grüße von DRP - Homepage
     MacBook Air 11,6" |  iPhone 3GS 8GB |  iPad 2 16GB weiß Wi-Fi |  Magic Mouse | PC

  6. #6
    Finkenwerder Herbstprinz
    Themenstarter

    Registriert
    03.2008
    Ort
    Berlin, Germany, Germany
    Beiträge
    463
    Das zentriert zwar die Elemente selber und den darin enthaltenen Text horizontal, allerdings wieder nicht vertikal.
    Zusätzlich stimmen in dem Moment weder Höhe, noch Breite.

    Ich verstehe einfach immer noch nicht, wieso so viele Anweisungen existieren müssen, die auf verschiedene Elemente und display Anweisungen komplett anders reagieren. Und ich verstehe auch nicht, wieso es nicht einfach sowas wie vertikales Zentrieren in Div's gibt.

    Jedenfalls funktioniert nicht eine einzige Möglichkeit, die mir die Welt aufzeigen kann.
    Und dabei ist das in Design-Geschichten so grundlegend… Einfach unverständlich.

    Also scheinbar ist mein Problem nicht lösbar, bis irgendwann mal CSS 175.000 veröffentlicht wird und man sich endlich entschließt, einheitliche und cross-Browser gleich interpretierte Anweisungen und Eigenschaften einzuführen.

    Danke für die Bemühung
    Mini-Leo

    You can only take what you can carry.

  7. #7
    Boskoop
    Registriert
    06.2010
    Ort
    Bochum
    Beiträge
    41
    Hallo,
    zum Teil hat timmy38233 das ja schon geschrieben...

    gib dem li der subnavi (bzw dem Elternelement des a):
    Code:
    display: table;
    und dem a der subnavi
    Code:
    display: table-cell;
    vertical-align: middle;
    Wenn das nicht funktioniert, zeig doch mal deinen Aufbau des Menüs (CSS + HTML), dann kann man damit mal rumspielen.

    Liebe Grüße,
    joro
    iMac 27" late '10 | iPad 64GB 3G | iPhone 4s 64 GB | AppleTV 2

  8. #8
    drp
    drp ist offline
    Ontario Avatar von drp
    Registriert
    04.2011
    Beiträge
    342
    Hm... Also das mit dem Positionieren genau auf der Mitte des Bildschirms habe ich schonmal so hinbekommen...
    Viele Grüße von DRP - Homepage
     MacBook Air 11,6" |  iPhone 3GS 8GB |  iPad 2 16GB weiß Wi-Fi |  Magic Mouse | PC

  9. #9
    Finkenwerder Herbstprinz
    Themenstarter

    Registriert
    03.2008
    Ort
    Berlin, Germany, Germany
    Beiträge
    463
    @drp:
    Das interessiert mich ebenfalls.
    Hab ich aber leider auch noch nicht hinbekommen.
    Kannst Du mir vielleicht 'ne PN mit Deinem Code für die Bildschirmmitte schicken?

    @joro:
    Ich werd's mal so ausprobieren…
    Allerdings verfahre ich so:
    Code:
    <div class="menu">
    	<div class="item_active" style="width:125px;">
    		<a href="./eins.html">
    			Eins
            		<a class="sub_item" href="./zwei.html">
    				Zwei
    			</a>
    			<a class="sub_item" href="./drei.html">
    				Drei
    			</a>
    		</a>
    	</div>
    </div>
    So funktioniert das perfekt.
    Eben bis auf mein geschildertes Problem.
    Das heißt, dass ich mein CSS Code folgendermaßen lauten muss?
    Code:
    .item_active{
    	display:table;
    }
    .sub_item{
    	display:table-cell;
    	vertical-align:middle;
    }
    Richtig soweit?
    Ich werds mal ausprobieren.

    Herzlichen Dank schon mal, ich schreibe später wieder.
    Geändert von Mini-Leopard (26.05.2011 um 14:50 Uhr) Grund: End-Code vergessen…
    Mini-Leo

    You can only take what you can carry.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •