[CSS] Höhe zweier DIVs automatisch angleichen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • [CSS] Höhe zweier DIVs automatisch angleichen

    Hallo allerseits,

    wie in Bild 1 im Anhang erkennbar gestalte ich gerade ein Forum. Die Anzeige der Beiträge der Benutzer macht mir jedoch mit meinen stümperhaften CSS-Kentnissen so einige Probleme. Aktuell beschäftigt mich die Frage, wie ich bei folgender Struktur erreichen kann, dass die Haarlinie zwischen den Informationen zum Autor und seinem Beitrag durchgehend angezeigt wird. Dafür müsste die Höhe beider DIVs gleich sein, also quasi height: 100%; - das funktioniert nur bei mir nicht. Vielleicht kann mir jemand einige best-practices dazu empfehlen? Die üblichen Quellen haben bei mir nichts ergeben, was hier anzuwenden wäre. Danke!

    Quellcode

    1. <div class="posting">
    2. <div class="user">
    3. <div class="avatar">
    4. <img src="http://blutorden-konsortium.de/files/keinavatar.png" alt="Avatar von Dimebag" />
    5. </div>
    6. <div class="nickname"><a href="http://blutorden/index.php?module=users&action=viewuser&id=127"><span>Dimebag</span></a></div>
    7. <div class="guild">Blutorden</div>
    8. <div class="rank"></div>
    9. </div>
    10. <div class="text"><p>Ich werde von Sonntag, dem 6.7. bis Dienstag den 8.7 nicht da sein, da ich dort auf meinem Abschlusszelten bin.</p></div>
    11. <br clear="both" />
    12. </div>
    13. <div class="posting alternate">
    14. <div class="user">
    15. <div class="avatar">
    16. <img src="http://blutorden-konsortium.de/files/88a690c93dcd00ee59bda2692b4c1ecd.png" alt="Avatar von Effendi" />
    17. </div>
    18. <div class="nickname"><a href="http://blutorden/index.php?module=users&action=viewuser&id=1"><span>Effendi</span></a></div>
    19. <div class="guild">Blutorden</div>
    20. <div class="rank"></div>
    21. </div>
    22. <div class="text"><p>&nbsp;Viel Spa&szlig; :)</p></div>
    23. <br clear="both" />
    24. </div>
    Alles anzeigen

    Quellcode

    1. /* Posting layout */
    2. .posting {
    3. width: 99%;
    4. overflow: hidden;
    5. position: relative;
    6. border: 1px solid #ccc;
    7. margin: 10px 0 0 0;
    8. padding: 0;
    9. }
    10. .posting .user {
    11. height: 100%;
    12. float: left;
    13. width: 18%;
    14. text-align: center;
    15. padding: 10px 0 10px 0;
    16. }
    17. .posting .user .avatar img {
    18. margin: 0 0 10px 0;
    19. padding: 0;
    20. width: 45px;
    21. height: 45px;
    22. }
    23. .posting .user .nickname {
    24. font-weight: bold;
    25. }
    26. .posting .user .nickname a {
    27. text-decoration: none;
    28. }
    29. .posting .user .guild {
    30. display: none;
    31. font-size: 90%;
    32. color: #666;
    33. }
    34. .posting .user .rank {
    35. }
    36. .posting .text {
    37. height: 100%;
    38. border-left: 1px solid #ccc;
    39. width: 78%;
    40. float: right;
    41. padding: 10px;
    42. text-align: justify;
    43. }
    44. .alternate {
    45. background-color: #f1f1f1;
    46. }
    Alles anzeigen
    Bilder
    • Bild 1.png

      77,02 kB, 702×483, 453 mal angesehen
  • Wie du schon ganz richtig festgestellt hast, ist das Problem so - leider - nicht lösbar, da die CSS-Eigenschaft height mit 100% bei div-Containern keine Wirkung zeigt.

    Deshalb habe ich folgenden Lösungsvorschlag für dich:
    Erstelle eine 1*1px große, schwarze Grafik, die später als Trennlinie zwischen Avatar, etc. und Text fungiert. Nun positionierst du diese als Hintergrund in deinem .posting-div-Layer so, dass sie mit vertikaler Wiederholung eine Linie ergibt und die Rahmen-Eigenschaft überflüssig macht. Das mal mit Beispiel-Code verdeutlicht.

    Quellcode

    1. .posting {
    2. background: url("ein/pixel/große/grafik.gif") repeat-y 20px 0;
    3. }


    Mehr zum festlegen einer Hintergrundgrafik per CSS findest du unter folgendem Link: css4you.de/backgroundproperty.html