h0tzenpl0tz: Div unter fixed div

hallo,

für eine medien-datenbank habe ich folgendes layout

########################  ###########
#  filter-div (fixed)  #  # details #
########################  # (fixed) #
                          #         #
########################  #         #

content-div          #  #         #

#                      #  #         #
#                      #  #         #
########################  ###########

filter-div ist fixed und kann per display:none-toggle
ein- und ausgeklappt werden -> dynamische höhe

details-div ist fixed und soll gesamte höhe rechts einnehmen.

content-div ist eine tabelle mit den medien.

nun zu meiner frage: ist es möglich, dass sich das content-div
am filter-div orientiert. also immer darunter befindet, egal welche höhe das filter-div gerade einnimmt? (höhe verändert sich durch dom-manipulation)

danke!
kai

  1. Man könnte body mit einer Klasse ausstatten und dann über die CSS arbeiten.

    body.nofilter {margin-top:0px;}
    body.nofilter #filter-div {display:none;}

    body.showfilter {margin-top:<was auch immer>px;}
    body.showfilter #filter-div {display:block;}

  2. Hallo,

    nun zu meiner frage: ist es möglich, dass sich das content-div
    am filter-div orientiert. also immer darunter befindet, egal welche höhe das filter-div gerade einnimmt? (höhe verändert sich durch dom-manipulation)

    da sehe ich erstmal zwei Möglichkeiten: Zusammen mit der
    "dom-manipulation" per JavaScript einzugreifen.

    Oder statt fixed die betr. Elemente anders positionieren, und dann
    das -im gleichen Fluß befindliche- content-div mit overflow:auto
    scrollen lassen.

    Grüsse
    Cyx23

    1. Zu deiner 2. Variante:
      Wie legst du die Höhe des content-div fest?
      Wenn er zu groß ist (100% + filter-div) musst du die gesamte Seite scrollen. Wenn er zu klein ist (Bsp: 90% ohne filter-div) fängt der content an zu scrollen ohne, das es nötig wäre.

      Gruß Cybie

  3. ########################  ###########
    #  filter-div (fixed)  #  # details #
    ########################  # (fixed) #
                              #         #
    ########################  #         #

    content-div          #  #         #

    ########################  ###########

    ist es möglich, dass sich das content-div am filter-div orientiert. also immer darunter befindet, egal welche höhe das filter-div gerade einnimmt? (höhe verändert sich durch dom-manipulation)

    Mit CSS? Verzichte auf position:fixed.

    Mit JavaScript könntest du nach der DOM-Manipulation die neue Höhe von #filter-div auslesen und #content-div mit entsprechendem margin-top ausstatten.

    Roland

    --
    -)