Nick: Element unten festsetzen

Hi

Wenn ich jezt zum Beispiel links auf jeder Seite eine Navigationsleiste habe und der Seiteninhalt ist immer unterschiedlich lang, dann sollen die Navigationslinks natuerlich immer oben bleiden. Dies mache ich indem ich valign="top" in die <td> der Nav-Leiste schreibe.
Jeztz kommt aber das Problem: Ich habe aber 2 Sonderlinks in der Leiste, die immer UNTEN an der Seite bleiben sollen. Soweit ich weiss, gibt es keine HTML-Moeglichkeit dafuer, etwa die beiden Fuss-Links mit <div valign="bottom"> einschliessen. Hab ich versucht und geht nicht.

Prinzipiell will ich folgendes: Man stelle sich ein tabelle mit 2 Spalten vor, und in jeder Spalte eine Zelle. Inhalt rechts ist sehr laaaang, und dehnt deshalb die tabelle nach unten aus. Linker inhalt ist kuerzer bleibt aber wegen valign="top" oben. ein kleiner Teil des linken inhalts aber soll immer untenbuendig in der Spalte sein.....

Ich hoffe ihr versteht was ich erreichen will.
Ich hab gehoert, das man mit CSS Elemente punktgenau ausrichten kann. Waere das die Loesung? ....also das man irgendwie sagt, "dieses Element soll immer 5 Pixel oberhalb des darunterliegenden Block-Elements kleben bleiben."

Hoffentlcih koennt iht mit helfen.

  1. Hallo Nick,

    Wenn ich jezt zum Beispiel links auf jeder Seite eine Navigationsleiste habe und der Seiteninhalt ist immer unterschiedlich lang, dann sollen die Navigationslinks natuerlich immer oben bleiden. Dies mache ich indem ich valign="top" in die <td> der Nav-Leiste schreibe.

    Also ist das so ungefähr grob gesehen deine Tabelle:

    +-----+-----------------+
    |     |                 |
    |     |                 |
    +-----+-----------------+

    Links wenig inhalt, rechts viel inhalt, beides "vertical-align: top;" bzw. valign="top".

    Jeztz kommt aber das Problem: Ich habe aber 2 Sonderlinks in der Leiste, die immer UNTEN an der Seite bleiben sollen. Soweit ich weiss, gibt es keine HTML-Moeglichkeit dafuer, etwa die beiden Fuss-Links mit <div valign="bottom"> einschliessen. Hab ich versucht und geht nicht.

    nö, ich würde dir folgendes empfehlen:

    +------+--------------+
    |      |              |
    |      |              |
    +------+              |
    |      |              |
    +------+--------------+

    Was das ist? Links zwei zellen, rechts eine. Dazu musst du rowspan="2" angeben (in der großen). Nun machts du vertical-align: bottom; in der linken unten und vertical-align: top; in der linken oben. Z.b. würde das das geben:

    <table>
     <tr>
       <td valign="top">NAVIGATION OBEN</td>
       <td valign="top" rowspan="2">Viiiieeeeeeeeeeel INhalt</td>
     </tr>
     <tr>
       <td valign="bottom">NAVIGATION UNTEN</td>
     </tr>
    </table>

    Oder mit CSS:

    <table>
     <tr>
       <td style="vertical-align:top;">NAVIGATION OBEN</td>
       <td style="vertical-align:top;" rowspan="2">Viiiieeeeeeeeeeel INhalt</td>
     </tr>
     <tr>
       <td style="vertical-align:bottom;">NAVIGATION UNTEN</td>
     </tr>
    </table>

    Prinzipiell will ich folgendes: Man stelle sich ein tabelle mit 2 Spalten vor, und in jeder Spalte eine Zelle. Inhalt rechts ist sehr laaaang, und dehnt deshalb die tabelle nach unten aus. Linker inhalt ist kuerzer bleibt aber wegen valign="top" oben. ein kleiner Teil des linken inhalts aber soll immer untenbuendig in der Spalte sein.....

    jo

    Ich hoffe ihr versteht was ich erreichen will.

    ich glaube, ich habe es verstanden.

    Ich hab gehoert, das man mit CSS Elemente punktgenau ausrichten kann. Waere das die Loesung? ....also das man irgendwie sagt, "dieses Element soll immer 5 Pixel oberhalb des darunterliegenden Block-Elements kleben bleiben."

    geht, bietet sich hier aber nicht an. Du hast sowieso ein Tabellen-Layout und nicht ein "freihand"-nur-CSS-Layout, also warum nicht schöne altbewährte dinger benutzen, anstatt so ein mischmasch ;-)

    WauWau

    --
    ss:) zu:) ls:& fo:) de:] va:) ch:° n4:( rl:( br:^ js:| ie:% fl:{ mo:|
    E-Mail WauWau: mailto:selfforum.wauwau@spameater.org