Ich denke, das sollte mit:
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.Code:display: table-cell; vertical-align: middle
Ergebnis 1 bis 9 von 9
- 24.05.2011, 20:36 #1Finkenwerder 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
JulianGeä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.
- 24.05.2011, 20:59 #2MacBook (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)
- 24.05.2011, 22:46 #3
Oder:
CSS:oderCode:display: block; text-align: center;
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
- 24.05.2011, 23:49 #4Finkenwerder Herbstprinz
Themenstarter
- Registriert
- 03.2008
- Ort
- Berlin, Germany, Germany
- Beiträge
- 463
@timmy38233:
Funtioniert leider nur bedingt.
Ich mache:Wenn ich allerdings Deine Variante verwende, wird das Element nicht mehr in der richtigen Höhe angezeigt.Code:display:block;
Auch passt sich der Hintergrund an den Inhalt an.
Das führt dazu, dass das Menü so aussieht:
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:
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.
- 25.05.2011, 08:07 #5
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
- 25.05.2011, 15:26 #6Finkenwerder 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ühungMini-Leo
You can only take what you can carry.
- 25.05.2011, 18:48 #7Boskoop
- 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):
und dem a der subnaviCode:display: table;
Wenn das nicht funktioniert, zeig doch mal deinen Aufbau des Menüs (CSS + HTML), dann kann man damit mal rumspielen.Code:display: table-cell; vertical-align: middle;
Liebe Grüße,
joroiMac 27" late '10 | iPad 64GB 3G | iPhone 4s 64 GB | AppleTV 2
- 25.05.2011, 20:05 #8
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
- 26.05.2011, 14:39 #9Finkenwerder 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:
So funktioniert das perfekt.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>
Eben bis auf mein geschildertes Problem.
Das heißt, dass ich mein CSS Code folgendermaßen lauten muss?
Richtig soweit?Code:.item_active{ display:table; } .sub_item{ display:table-cell; vertical-align:middle; }
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.


Zitieren
