tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
719
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    282
    Moin leute,

    ich möchte einen Div um 2 andere divs setzen deren Höhe abhängig von dem Text darin ist.

    Derzeit sieht es so aus:

    PHP-Code:

    <div id="center">
    <
    div id="top">&nbsp;
    <
    div id="navi">&nbsp;</div>
    <
    div id="base">&nbsp;</div>
    </
    div>

    <
    div id="mein"><!-- richtige position ändert die höhe aber nicht -->


    <
    div id="left">Test<br>Test<br />Test<br />Test<br /></div>
    <
    div id="base2">Test<br />Test<br />Test<br />Test<br />Test<br />Test
    <div id="base_bottom">&nbsp;</div>
    </
    div>
    <
    div id="bottom">&nbsp;</div>
    </
    div>
    </
    div

    css:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    
    #center {
        position:relative;
        top:20px;
        width:1000px;
        height:auto;
        margin-left:auto; 
        margin-right:auto;
        z-index:1;
    }
     
    #top {
        position:absolute;
        top:0px;
        background-image:url(top.gif);
        width:1000px;
        height:168px;
        z-index:1;
    }
     
    #navi {
        position:relative;
        top:60px;
        background-image:url(navi.gif);
        width:780px;
        height:30px;
        left:220px;
        z-index:2;
    }
     
    #mein {
        position:absolute;
        top:168px;
        background-image:url(main.gif);
        background-repeat:repeat-y;
        width:1000px;
        height:auto;
        z-index:1;
    }
    #base {
        position:absolute;
        top:138px;
        margin-bottom:20px; 
        left:220px;
        background-image:url(top_in.gif);
        height:30px;
        width:780px;
        z-index:2;
        
    }
     
    #left {
        position:absolute;
        top:0px;
        background-color:#92bcee;
        float:left;
        width:169px;
        margin-bottom:20px;
        height:auto;
        z-index:1;
    }
    #base2 {
        position:absolute;
        background-image:url(base.gif);
        background-repeat:repeat-y;
        left:220px;
        top:0px;
        width:780px;
        height:auto;
        z-index:1;
    }
     
    #base_bottom {
        position:absolute;
        background-image:url(bottom_in.gif);
        bottom:0px;
        width:780px;
        height:3px;
        z-index:2;
    }
    #bottom {
        position:absolute;
        background-image:url(bottom_out.gif);
        background-repeat:repeat-y;
        width:1000px;
        bottom:0px;
        height:auto;
        z-index:2;
    }

    sieht vlt ein wenig unübersichtlich aus aufgrund der vielen divs, nur eine andere Lösung sehe ich derzeit leider nicht um das zu realisieren.

    lg
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  2. #2
    franz007 franz007 ist offline Mitglied Platin
    Registriert seit
    Sep 2004
    Beiträge
    600
    Hallo

    Mit position: absolute nimmst du ein Element aus dem Textfluss. Daher wird auch der umschließende Div nicht entspechend größer.

    http://de.selfhtml.org/css/eigenscha...g.htm#position
     

  3. #3
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    282
    Morgen,

    mit relative ändert sich jedoch auch nichts.

    lg
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  4. #4
    Godstyle Godstyle ist offline Mitglied Brokat
    Registriert seit
    Feb 2008
    Ort
    Niedersachsen
    Beiträge
    282
    So update:

    Ich habe mich natürlich weiter hier erkundigt und ähnliche beiträge gelsen, dabei bin ich auf einen gestoßen von Mike der ziemlich nah an meinem Problem liegt:

    Lösung von Mike.

    Habe dies nun bei mir eingebaut, jedoch muss ich dabei etwas falsch gemacht haben, sitze nun schon mehre Stunden daran und er möchte den mein div nicht um die beiden innen divs legen und seine höhe anpassen.

    Hier noch mal die akutellen codes:

    PHP-Code:
    <div id="center" class="clearfix">
    <
    div id="top">&nbsp;
    <
    div id="navi">&nbsp;</div>
    <
    div id="base">&nbsp;</div>
    </
    div>

    <
    div id="mein" class="clearfix">


    <
    div id="left">Test<br>Test<br />Test<br />Test<br /></div>
    <
    div id="base2">Test<br />Test<br />Test<br />Test<br />Test<br />Test
    <div id="base_bottom">&nbsp;</div>
    </
    div>

    <
    div id="bottom">&nbsp;</div>
    </
    div>

    </
    div
    css:

    PHP-Code:
            html
            
    {
                
    height100%;
            }

    #center {
        
    position:relative;
        
    top:20px;
        
    width:1000px;
        
    height:auto;
        
    margin-left:auto
        
    margin-right:auto;
        
    z-index:1;
    }
    .
    clearfix:after {
    content:".";
    display:block;
    height:0;
    font-size:0;
    clear:inherit;
    visibility:hidden;
    }

    .
    clearfix {displayinline-block;}
     
    /* Hides from IE-mac \*/
    html .clearfix {height1%;}
    .
    clearfix {displayblock;}
    /* End hide from IE-mac */

    #top {
        
    position:absolute;
        
    top:0px;
        
    background-image:url(top.gif);
        
    width:1000px;
        
    height:168px;
        
    z-index:1;
    }

    #navi {
        
    position:relative;
        
    top:60px;
        
    background-image:url(navi.gif);
        
    width:780px;
        
    height:30px;
        
    left:220px;
        
    z-index:2;
    }

    #mein {
        
    position:relative;
        
    top:168px;
        
    border:1px solid #000;
        
    background-image:url(main.gif);
        
    background-repeat:repeat-y;
        
    width:1000px;
    height:auto !important;
    height:200px;
        
    z-index:1;




    }
    #base {
        
    position:absolute;
        
    top:138px;
        
    margin-bottom:20px
        
    left:220px;
        
    background-image:url(top_in.gif);
        
    height:30px;
        
    width:780px;
        
    z-index:2;
        
    }

    #left {
        
    position:absolute;
        
    top:0px;
        
    background-color:#92bcee;
        
    float:left;
        
    width:169px;
        
    margin-bottom:20px;
        
    height:auto;
        
    z-index:1;
    }
    #base2 {
        
    position:absolute;
        
    background-image:url(base.gif);
        
    background-repeat:repeat-y;
        
    float:right;
        
    left:220px;
        
    top:0px;
        
    width:780px;
        
    height:auto;
        
    z-index:1;
    }

    #base_bottom {
        
    position:absolute;
        
    background-image:url(bottom_in.gif);
        
    bottom:0px;
        
    width:780px;
        
    height:3px;
        
    z-index:2;
    }
    #bottom {
        
    position:absolute;
        
    background-image:url(bottom_out.gif);
        
    background-repeat:repeat-y;
        
    width:1000px;
        
    bottom:0px;
        
    height:auto;
        
    z-index:2;

    glg
     
    Zerstöre, was dich zerstört, bevor es dich zerstört.
    In diesem Sinner:
    hehe

  5. #5
    Masaku Masaku ist offline Mitglied Bronze
    Registriert seit
    Jul 2007
    Beiträge
    32
    Position regelt die Ausrichtung eines Elements - nicht jedoch den Fluss. Das bedeutet, dass position:absolute bei #left und #base2 dafür sorgt, dass die beiden aus dem Fluss rausgenommen werden. Du musst diese beiden statisch positionieren bzw. das Attribut einfach löschen. Erst dann passt das Eltern-DIV die Höhe an.
    Ich habs jetzt nicht getestet, aber ich vermute, dass auch dann die Höhe nicht angepasst wird. Und das liegt diesmal an den Float-Anweisungen. Um das zu lösen, musst du entweder #mein selbst ein FLoat geben oder (meist besser:) #base_bottom ein clear:both verpassen.
    Wenn du sie absolut positioniert haben musst, dann bleibt dir, glaub ich, nichts anderes übrig, als #mein feste Maße zu geben.

    Entfern die andere Lösung wieder. Die hat nicht wirklich was mit deinem Problem zu tun.
    Geändert von Masaku (03.04.11 um 03:08 Uhr)
     

Ähnliche Themen

  1. Antworten: 2
    Letzter Beitrag: 31.08.10, 13:22
  2. InternetExplorer (6.0) passt Höhe der Tabelle nicht an
    Von Nervensache im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 04.02.09, 16:44
  3. Antworten: 2
    Letzter Beitrag: 24.06.08, 19:23
  4. Div Höhe passt sich nicht an
    Von ZeroEnna im Forum CSS
    Antworten: 5
    Letzter Beitrag: 06.09.07, 15:26
  5. Automatisch 100% Höhe bei DIVs?
    Von josDesign im Forum CSS
    Antworten: 2
    Letzter Beitrag: 21.11.06, 12:31