Dirk: Elternelement festlegen

Tagchen zusammen!

Ich würde gern die Position eines <div> Bereiches relativ zu seinem Elternelement festlegen. Weiß auch, wie man da vorgeht, allerdings hab ich nirgends (jedenfalls nicht in Selfhtml) gefunden, wie man ein Elternelement anlegt oder was das eigentlich ist. Momentan schein es das body-Element zu sein, ich würde aber gern die Überschrift als Elternteil deklarieren, wie mach ich das? (Ich weiß, ist vielleicht ne blöde Frage aber ich hab echt schon gesucht und mir fehlt wohl entweder der Erfolg beim Suchen oder ein kurzer Denkanstoß) Danke schonmal,

verregnete Grüße aus Flensburg,
Dirk

  1. Hi,

    allerdings hab ich nirgends (jedenfalls nicht in Selfhtml) gefunden, wie man ein Elternelement anlegt oder was das eigentlich ist.

    das Elternelement ist jenes HTML-Element, innerhalb dessen sich Dein aktuelles Element befindet.

    ich würde aber gern die Überschrift als Elternteil deklarieren,

    Die Schachtelung <h1><div/></h1> ist nicht erlaubt.

    Cheatah

    --
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
  2. hi dirk

    grober schematischer aufbau einer html-seite

    <html>
    <head>
    <title></title>
    </head>
    <body>
    <h1></h1>
    <p>
    <span></span>
    </p>
    </body>
    </html>

    jedes element (abgesehen von <html>) hat genau ein elternelement

    <head>  -> <html>
    <title> -> <head>
    <body>  -> <html>
    <h1>    -> <body>
    <p>     -> <body>
    <span>  -> <p>

    allerdings kann ein elternelement beliebig viele tocher/sohn/kind-elemente haben

    <html> -> <head>, <body>
    <head> -> <title>
    <body> -> <h1>, <p>
    <p>    -> <span>

    ich hoffe das gbit dir einen kleinen einblick in das thema. nun kannst du dir auch sichlich deine lösung selber zusammenbasteln :).

    so long
    ole
    (8-)>

    1. ps: beachte dabei aber immer die verschachtelungsregeln und was inline- und block-elemente enthalten dürfen.

      so long
      ole
      (8-)>

  3. hi!

    Ich würde gern die Position eines <div> Bereiches relativ zu seinem
    Elternelement festlegen. Weiß auch, wie man da vorgeht, allerdings
    hab ich nirgends (jedenfalls nicht in Selfhtml) gefunden, wie man ein
    Elternelement anlegt oder was das eigentlich ist.

    Der Begriff "Elternelement" passt hier nicht ganz. Man kann die
    Position nur relativ zu einem sog. "containing block" festlegen.
    Den kann man sich allerdings nicht selbst definieren, sondern er
    hängt von der Struktur des Dokuments ab.

    Details findest du hier:
      http://www.w3.org/TR/REC-CSS2/visudet.html#containing-block-details

    bye, Frank!

    --
    Never argue with an idiot. He will lower you to his level and then
    beat you with experience.
  4. Hallo Dirk,

    Ich würde gern die Position eines <div> Bereiches relativ zu seinem Elternelement festlegen. Weiß auch, wie man da vorgeht, allerdings hab ich nirgends (jedenfalls nicht in Selfhtml) gefunden, wie man ein Elternelement anlegt oder was das eigentlich ist. Momentan schein es das body-Element zu sein, ich würde aber gern die Überschrift als Elternteil deklarieren, wie mach ich das?

    »Ein Element relativ zu seinem Elternelement positionieren« kann vieles bedeuten. Was mit Elternelement gemeint ist, wurde ja bereits veranschaulicht. Es lässt sich unter anderem durch die padding-Eigenschaft des Elternelements und durch seine margin-Eigenschaft darin »positionieren«.
    Beispielsweise:

    <p>bla</p>
    <div id="a">
    <p id="b">bla</p>
    </div>
    <p>bla</p>

    #a {border:1px solid red; padding-left:2em;}
    #b {border:1px solid navy;}
    oder
    #a {border:1px solid red;}
    #b {border:1px solid navy; margin:3em 0 0 2em;}

    Eine andere Lesart wäre das Positionieren über die CSS-Eigenschaft position. Position:absolute zusammen mit top/left/bottom/right bezieht sich auf den besagten containing block, das ist das nächste übergeordnete positionierte Element (das heißt, mit einem position-Wert anders als static) bzw. dessen Box. Falls sich kein solches positioniertes Element findet, gilt der initial containing block (umschließender Ausgangsblock), das ist die Box des Wurzelelements html mit den Ausmaßen der Seite zur Verfügung stehenden Fläche.
    Du kannst also einem Element position:absolute oder position:relative (bei letzterem bleibt das Element im normalen Fluß, wenn top/left/bottom/right incht gesetzt werden) geben und einem Kindelement ebenfalls position:absolute. Die Eigenschaften top/left/bottom/right beziehen sich dann auf die Dimensionen (genauer gesagt auf die der padding egde) des übergeordneten positionierten Elements.
    Beispielsweise:
    #a {width:15em; height:10em; position:relative; border:1px solid red;}
    #b {position:absolute; top:4em; left:8em; margin:0; padding:1em; border:1px solid navy;}

    Welche Methode letztlich angemessen ist, hängt von deinen konkreten Anforderungen/der konkreten Zielsetzung ab.

    Grüße,
    Mathias