2Danke
ERLEDIGT
JA
JA
ANTWORTEN
11
11
ZUGRIFFE
340
340
EMPFEHLEN
-
Hallo!
Ich möchte dass oberhalb meines absolut positionierten Elternelements, das Kindelement ausgerichtet wird.
Kindelement
____________
| Elternelemnt |
Das Kindelement soll genau am oberen Rand des Elternelement ausgerichtet werden.
Code :1 2 3 4 5
#Elternelement { margin-left:32px; position:absolute; top:281px; }
Code :1 2 3 4 5 6 7 8 9
.Kindelement { width:1000px; height:auto; max-height:175px; position:absolute; bottom:0; left:0; padding:30px 10px; }
Geht das? Da das ganze im Menü verschachtelt ist (ul li) kann ich das Kindelement nicht vorher positionieren. Momentan kann ich nur eine fixe Größe einstellen, ich möchte die Größe aber am Inhalt anpassen (height:auto).
-
Grundsätzlich benötigt das nach oben zu verrückende Element entweder einen negativen margin-top- bzw. top-Wert < 0, oder positiven margin-bottom- bzw. bottom-Wert > 0, aber ohne bekannte (feste) Höhe, aus der der jeweilige benötigte Regelwert resultiert, lässt sich dein Vorhaben mit CSS nicht umsetzen, damit die (im Markup folgende) innere Box außerhalb ihrer Mutterbox passgenau auf deren oberen Rand ausgerichtet wird.
Beispiele hierfür mit dieser CSS-Technik findest du z.B. hier:
- http://www.cssplay.co.uk/menus/cssplay-showup.html
- http://www.cssplay.co.uk/menus/anywidth-pullup.html
Ohne CSS-Regelung bzgl. einer festen Höhe liesse sich dein Wunsch mittels Javascript erfüllen; Stichwörter zur Foren- u. Google-Recherche: offsetHeight und offsetTop.
JS-Referenz:
Geändert von spicelab (10.08.11 um 15:33 Uhr) Grund: Links ergänzt
-
Verwirrt hat mich jetzt nur der zweite Link von dir (http://www.cssplay.co.uk/menus/anywidth-pullup.html). Denn da gibts genau das was ich suche, eine feste Höhenangabe habe ich auf die Schnelle nicht gesehen....
Also wenn ich dich richtig verstehe, dann geht es mit CSS so nicht (also ohne Höhenangabe). Da der Inhalt noch nicht ganz definiert ist, kann ich die Höhe momentan nicht festlegen (außer die max. Höhe).
Ansonsten werde ich es mal so lassen, außer es ist wirklich nötig JavaScript zu verwenden.
-
Dabei findet sie sich gleich zu Beginn in der zweiten Regelmenge an zweiter Stelle:
Code css:1 2 3 4 5
#menu {width:744px; height:25px; background:#b07e4b; text-align:center; border:3px solid #000;} /* und im weiteren Verlauf erfolgt die entsprechende Positionierung der Submenüs */ #menu ul li:hover > ul {left:-2px; bottom:25px;}
Die Höhe für #Elternelement lässt sich unabhängig vom Inhaltsumfang in .Kindelement festlegen, wie es das zweite Beispiel demonstriert, dessen Untermenüs eine variierende Anzahl von Links besitzt.Geändert von spicelab (11.08.11 um 07:17 Uhr) Grund: Tipp-Ex
-
D.h. das Elternelement hat eine feste Höhe und das Kindelement übernimmt diese. Dadurch dass mehrere Kindelemente übereinander gestapelt werden (bottom:25px) funktioniert das ganze. Bei mir sind aber die Inhalte nicht immer nur eine Zeile groß.
Danke für deine Hilfe!Ansonsten werde ich es mal so lassen, außer es ist wirklich nötig JavaScript zu verwenden.
-
-
Hallo spicelab!
Es stimmt, die Höhe wird nicht vererbt. Es gibt nur die Info die du schon beschrieben hast:
Code css:1 2 3 4 5 6 7 8 9
/* Höhe ist nur für Menüebene 1 */ #menu {width:744px; height:25px; background:#b07e4b; text-align:center; border:3px solid #000;} /* jede neue Menübebene (ul li ul) wird um 25px nach oben geschoben */ #menu ul li:hover > ul {left:-2px; bottom:25px;} /* Frage: gilt das nur für Menüebene 1? Es gibt ja noch ul ul li:hover ... /* Zeilenhöhe hat noch Einfluss auf die Höhe der Box */ #menu a {display:block; font:normal 11px verdana,arial,sans-serif; color:#000; line-height:25px; text-decoration:none;padding:0 20px 0 10px;}
So wie ich das sehe kommt die Höhe der Submenüs nur durch die line-height zustande. Je mehr list items da sind, desto größer wird so ein Submenü. Ist das richtig?Geändert von anve (11.08.11 um 21:00 Uhr) Grund: Tipp-Ex
-
Die line-height-Eigenschaft regelt hier die Zeilenhöhe der Links, und sorgt für eine vertikale Zentrierung ihres Elementinhaltes.
Ohne diese CSS-Regel fällt die Höhe der einzelnen Submenüs folglich geringer aus, sprich die Höhe ergibt sich dann durch Anzahl der Zeilen und der gesetzten Schriftgröße (reguläre Zeilenhöhe < 25px).Geändert von spicelab (11.08.11 um 20:02 Uhr)
-
Wieso nicht
Code :1
bottom: 100%;
inkl. fester Höhe?
-
-
Fragen:
Kann ich nun mit CSS mein Vorhaben umsetzen oder nicht?
Was ist das Ergebnis des Vergleichs der Höhe der Submenüs? Unterschiedlich groß? Was wolltest du mir damit sagen?
In meinen geposteten Code-Stück habe ich Anmerkunge/Fragen gemacht. Sind meine Aussagen korrekt?
Code css:1 2 3 4 5 6 7 8 9
/* Höhe ist nur für Menüebene 1 */ #menu {width:744px; height:25px; background:#b07e4b; text-align:center; border:3px solid #000;} /* jede neue Menübebene (ul li ul) wird um 25px nach oben geschoben */ #menu ul li:hover > ul {left:-2px; bottom:25px;} /* Frage: gilt das nur für Menüebene 1? Es gibt ja noch ul ul li:hover ... /* Zeilenhöhe hat noch Einfluss auf die Höhe der Box */ #menu a {display:block; font:normal 11px verdana,arial,sans-serif; color:#000; line-height:25px; text-decoration:none;padding:0 20px 0 10px;}
Wo liegt nun die Kernessenz dieses Beispiels? Wie funktioniert es nun wirklich? Mit bottom:25px wird nur das 1. Submenü positioniert. Wie ist es mit den anderen? Es gibt das Elternelement und das ist die Basis (Höhe) für die Submenüs. Woher weiß der Browser wo das 1. Element des Submenüs ist? Durch eine Addition der Zeilenhöhe/Schriftgröße aller Links im Submenü?
Sag, wenn ich nerve.
-
Ob und wie du deinen Plan mit CSS realisieren kannst, hatten wir hier doch schon ausgiebig erläutert.
Und das Verständnis für die detailierte Funktionsweise des Menüs solltest du durch Experimentieren mit den einzelnen gesetzten bottom-Regeln selbst erlangen können.
Ähnliche Themen
-
stylesheets des Elternelement unwirksam machen
Von Kalito im Forum CSSAntworten: 5Letzter Beitrag: 15.06.11, 18:48 -
Aktuelles Elternelement löschen.
Von francosdad im Forum Javascript & AjaxAntworten: 2Letzter Beitrag: 03.06.09, 09:20 -
FX.Slide auch für das Elternelement
Von dezerver im Forum Javascript & AjaxAntworten: 0Letzter Beitrag: 25.10.07, 16:50 -
img Position via Elternelement in Mozilla
Von kaifreund im Forum CSSAntworten: 0Letzter Beitrag: 02.08.04, 18:21





Zitieren

Login





