Position von Div unbekannter Größe in Prozent angeben

Hallo zusammen :slight_smile:

Ich hab ein Problem:

Ich hab viele DIV-Kästchen, deren Größe sich nach dem enthaltenen Text richtet, mir also (in Pixel) unbekannt ist.

Jetzt möchte ich in Prozent angeben, wo sich das DIV befinden soll, also z.B. x=13% y=84% (position absolute).

Allerdings ist jetzt nur die linke obere Ecke des DIVs an dieser Position, ich möchte dass diese Position den Mittelpunkt des DIVs darstellt, ich bräuchte also sowas wie:

margin-left: -(halbe DIVbreite);
margin-top: -(halbe DIVhöhe);

Aber gibts ja ned so einfach :cry:

Weis jemand eine Lösung?

Vielen Dank schonmal und viele Grüße
schuhumi

PS: Leider geht es nicht, dass man so ein DIV in ein anderes reinschachtelt, das größer ist (Sprich das große so ausrichtet wie mann will (Das hat z.B. 400x500px, das mit margin kompensieren) und das “richtige” DIV da drin zentrieren, weil das große DIV dann andere “richtige” DIVs verdecken könnte (Muss anklickbar sein)

mit oder ohne framework?
http://api.jquery.com/height/

[quote=“schuhumi”]Allerdings ist jetzt nur die linke obere Ecke des DIVs an dieser Position, ich möchte dass diese Position den Mittelpunkt des DIVs darstellt, ich bräuchte also sowas wie:

margin-left: -(halbe DIVbreite);
margin-top: -(halbe DIVhöhe);

Aber gibts ja ned so einfach :cry: [/quote]

Doch, genau das ist die übliche Vorgehensweise. (margin nimmt ja auch Prozentangaben)

[quote=“michi7x7”]
Doch, genau das ist die übliche Vorgehensweise. (margin nimmt ja auch Prozentangaben)[/quote]

Er kennt ja die Grössenangaben des DIVs nicht, wodurch er dies nicht per CSS einstellen kann. Eine Möglichkeit ist per Javascript bei window.onload mit offsetHeight/offsetWidth die Grösse des DIVs zu ermitteln und diese dann geteilt durch 2 und jeweils dann als -marginLeft und -marginTop zu bestimmen.

CSS3 wird dafür ein paar mehr Positionierungsmöglichkeiten bieten, aber bis dahin heißt es warten oder JS verwenden.
html5rocks.com/en/tutorials/ … toc-center
Ob dein Wunsch damit funktioniert, weiß ich jetzt gerade nicht.