top berechnen
bert
- css
Hi,
kann ich bei in einer .css Datei die Angabe TOP für ein DIV berechnen lassen? Also das DIV hat position:absolute und soll genau unter einem anderen absoluten DIV liegen. Beide DIVs befinden sich in einem dritten absoluten DIV.
Nun soll DIV_1 für TOP den Wert von HEIGHT von DIV_2 einnehmen.
<div id="3">
<div id="2"></div> // Height=x
<div id="1"></div> // TOP = Height(DIV_2)
</div>
Geht das rein mit CSS oder brauche ich JS?
Wenn ich JS brauche: kann ich das in ner .css Datei überhaupt aufrufen?
Wie würdet ihr das Problem lösen?
Danke und Gruß
Geht das rein mit CSS oder brauche ich JS?
Mit CSS geht das nicht - und JS brauchst du dafür auch nicht zwangsläufig.
Warum müssen die beiden Inneren Elemente überhaupt absolut positioniert sein - was stört dich am normalen Textfluss?
3, 2 und 1 sind übrigens keine gültigen ID-Bezeichner
Warum müssen die beiden Inneren Elemente überhaupt absolut positioniert sein - was stört dich am normalen Textfluss?
weil die standardmäßig hidden sind und sich bei Bedarf über die anderen Elemente drüberlegen sollen. Führt also kein Weg dran vorbei.
3, 2 und 1 sind übrigens keine gültigen ID-Bezeichner
i know. thanks anyway ;-)
weil die standardmäßig hidden sind und sich bei Bedarf über die anderen Elemente drüberlegen sollen. Führt also kein Weg dran vorbei.
Das ist keine Begründung - auch Elemente im Textfluss können versteckt sein und sich bei Bedarf drüberlegen, wenn das Elternelement positioniert ist.
kann ich bei in einer .css Datei die Angabe TOP für ein DIV berechnen lassen?
Nein, nicht nachdem die Datei geschrieben wurde.
Also das DIV hat position:absolute und soll genau unter einem anderen absoluten DIV liegen. Beide DIVs befinden sich in einem dritten absoluten DIV.
Das hört sich nach falschem Markup an. Du willst deine zwei Problem-Kinder einem absoluten Parent unterstellen und sie wieder statisch positionieren.
mfg Beat
Das hört sich nach falschem Markup an. Du willst deine zwei Problem-Kinder einem absoluten Parent unterstellen und sie wieder statisch positionieren.
statisch positioniert kann ich sie aber nicht ein- und ausblenden (hidden, visible), ohne dass sich der Rest verschiebt und die "Problem-Kinder" einfach drüber liegen.
Das hört sich nach falschem Markup an. Du willst deine zwei Problem-Kinder einem absoluten Parent unterstellen und sie wieder statisch positionieren.
statisch positioniert kann ich sie aber nicht ein- und ausblenden (hidden, visible), ohne dass sich der Rest verschiebt und die "Problem-Kinder" einfach drüber liegen.
In deiner Antwort liegt die Antwort.
visible ist ein Wert der mit der Eigenschaft visibility korrespondiert. visibility steuert die Anzeige wobei der Platz reserviert bleibt.
Du kannst es!
mfg Beat
visible ist ein Wert der mit der Eigenschaft visibility korrespondiert. visibility steuert die Anzeige wobei der Platz reserviert bleibt.
Der Platz soll aber nicht reserviert bleiben. Die restlichen DIVs sollen sich davon nicht beeinflussen lassen. bei visibility soll das Problem-Kind wie gesagt unabhängig von den anderen einfach über sie drüber gelegt werden (d.h. die DIVs dahinter werden verdeckt)
Der Platz soll aber nicht reserviert bleiben. Die restlichen DIVs sollen sich davon nicht beeinflussen lassen. bei visibility soll das Problem-Kind wie gesagt unabhängig von den anderen einfach über sie drüber gelegt werden (d.h. die DIVs dahinter werden verdeckt)
Du redest wirres Zeug.
Was jetzt - soll der Platz reserviert sein oder nicht?
Wenn du etwas absolut exakt an die Kante des vorhergehenden Elements positionierst hat das denselben effekt wie normaler textfluss - wenn du dann eines per display: none ausblendest, ist der Effekt ident zu visilibity: hidden mit Textfluss.
Ich habe eine Seite mit mehreren DIVs zum Inhalt. Irgendwo ist mit position:absolut ein DIV mit einem Inputfeld positioniert, wobei das DIV eine Variable Größe hat, die vom User geändert werden kann.
Wenn der User den Focus aufs Input in diesem DIV legt, soll unter dem DIV ein weiteres DIV erscheinen, welches ihm Informationen anzeigt. Der Platz für dieses zweite DIV soll aber nicht ständig reserviert bleiben, da sonst der gesamte restliche Inhalt ja ständig mit einer riesigen Lücke zum INPUT-DIV angezeigt wird, was unnötig wäre.
Das INFO-DIV soll also per Position:absolut und z-index:999 über dem restlichen Inhalt erscheinen.
Da das INPUT-DIV aber eine Variable Größe hat, muss ich doch die TOP-Angabe des INFO-DIV berechnen (durch die Höhe des INPUT-DIV), oder fällt euch auch ein anderer Weg ein?
Danke und Gruß
Ich habe eine Seite mit mehreren DIVs zum Inhalt. Irgendwo ist mit position:absolut ein DIV mit einem Inputfeld positioniert, wobei das DIV eine Variable Größe hat, die vom User geändert werden kann.
Wenn der User den Focus aufs Input in diesem DIV legt, soll unter dem DIV ein weiteres DIV erscheinen, welches ihm Informationen anzeigt. Der Platz für dieses zweite DIV soll aber nicht ständig reserviert bleiben, da sonst der gesamte restliche Inhalt ja ständig mit einer riesigen Lücke zum INPUT-DIV angezeigt wird, was unnötig wäre.
Also ist diese info ein Children des form Elements.
Das INFO-DIV soll also per Position:absolut und z-index:999 über dem restlichen Inhalt erscheinen.
No problem.
Da das INPUT-DIV aber eine Variable Größe hat, muss ich doch die TOP-Angabe des INFO-DIV berechnen (durch die Höhe des INPUT-DIV), oder fällt euch auch ein anderer Weg ein?
àndere das Markup so, dass die Info ein Children des form Elements ist.
Denn es gehört inhaltlich in diesen Kontext.
Wenn es ein unmittelbarer Sibling des input Elements ist, hast du zudem einen direkten CSS Selektor mit
.yourform input + .info{}
mfg Beat
àndere das Markup so, dass die Info ein Children des form Elements ist.
Denn es gehört inhaltlich in diesen Kontext.
Aufbau ist jetzt wie folgt:
<div ID="suche">
<form method="POST" action="index.php" name="formular">
<input type="text" name="suchfeld" id="suchfeld_input">
<input type="submit" value="Abschicken" name="B1">
<div id="infobox"></div>
</form>
</div>
DIV "suche" ist absolut positioniert
DIV "infobox ist absolut positioniert
infobox orientiert sich aber bei seiner Position doch immer an "suche". Was muss ich tun, damit es direkt unter suchfeld_input erscheint?
infobox orientiert sich aber bei seiner Position doch immer an "suche". Was muss ich tun, damit es direkt unter suchfeld_input erscheint?
Wie schon etwa 5x erwähnt: lass das Ding im Textfluss und spiele nicht unsinnigerweise mit position: absolute herum.
sorry, stand auffem Schlauch.. ;-)
Jetzt hab ichs --> Vielen Dank!
Na das war ja mal eine schwere Geburt :D