[HTML/CSS] div container met 2 div floats probleem

Pagina: 1
Acties:
  • 133 views sinds 30-01-2008
  • Reageer

  • b4rt_NL
  • Registratie: April 2004
  • Laatst online: 01-12 15:06
Hallo, ik zit met een klein probleempje waar jullie misschien wel een oplossing voor hebben. Heb al gezocht op google en hier maar het kan zijn dat ik het verkeerd formuleer dat ik niks vind, maar ik vraag het zelf maar even.

Ik heb nu een website gemaakt met 1 div container, en daar 2 floating divs ingezet ( links een menu, rechts content). De div waar content in staat wordt uitgerekt als er veel tekst in staat, daardoor kwam hij dus buiten de container te staan. Dit heb ik opgelost door de container overflow:auto mee te geven. Alleen de linker div die blijft ook al geef ik height: 100% op, gewoon klein, zonder mee te rekken onder aan de rand van de container. Toen ik de overflow had uit staan, werkte height:100% wel normaal tot de bodem van de container. Nu heb ik van alles geprobeerd, ook met clear:both wat ik las op een website. Ik weet niet wat ik er aan moet doen dus kom ik hier vragen of iemand mij kan helpen met dit.

Het gaat om http://www.drift-it.nl
De code van mijn index en css bestand zijn :
CSS :

Cascading Stylesheet:
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
89
90
91
92
93
94
body
{
    background-image: url(/images/bg21.png);
    background-repeat: repeat-x;
    }
A:Link{text-decoration: none;color: #000000;}
A:visited {text-decoration: none;color: #000000;}
A:Hover{filter:progid:DXImageTransform.Microsoft.Alpha(opacity=50);
-moz-opacity: 5;}


.head
{
background: url('/images/head-3.png');
padding:0px;
height:100px;
width:800px;
margin-left: auto; 
margin-right: auto;
margin-bottom: 5px;
}

.container1
{
background: url('/images/bg1.png');
border:1px solid black;
width:798px;
height: 100%;
margin-left: auto; margin-right: auto;
overflow:auto;
}



.klein
{
background: url('/images/bg1.png');
border-right: 1px solid black;
width:175px;
float:left;
height: 100%;
}

.klein_text_l
{
width:169px;
padding:3px;
padding-top:15px;
padding-bottom:15px;
color: #efeeee;
font-weight:bold;
font-size:10px;
font-family: verdana;

}

.klein_text
{
width:169px;
padding:3px;
padding-top:15px;
padding-bottom:15px;
}


.k_head
{
background: url('/images/bg3.png');
height:25px;
width:100%;
color: #efefef;
font-weight:bold;
font-size:10px;
font-family: verdana;
text-align:center;
line-height:14pt;
}


.content
{
font-family: verdana;
font-size:12px;
float:right;
padding:5px;
position: relative;
width:590px;
margin: 5px 5px 5px 5px;

}

.extradiv {
clear: both;
}


Index.php

HTML:
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
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
            "http://www.w3.org/TR/html4/loose.dtd">
<HTML> 
 <HEAD>
  <TITLE> Drift-it </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
<link rel="stylesheet"  type="text/css" href="style.css" /> 
  <!--[if lte IE 6]>

    <style type="text/css">
     /* ie png hack */
     /* special thanks to Christopher Walker (http://tibetanportal.com/) 
        for his contribution */

    
    .container1 { background-image: none ; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='images/bg2.png', sizingMethod=scale); }
    .klein { background-image: none ; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='images/bg2.png', sizingMethod=scale); }
    .k_head { background-image: none ; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src='images/bg3.png', sizingMethod=scale); }
    </style>

    <![endif]-->  

 </HEAD>
<BODY>





<div class="head"></div>

<div class="container1">
    
        <div class="klein">

                <div class="k_head">menu</div>

            <div class="klein_text_l">

<?php mosLoadModules('left'); ?>

</div>

<div class="k_head">who's online</div>
    
    <div class="klein_text_l">
<?php mosLoadModules('user8'); ?>

    
</div>

<div class="k_head">login</div>

<div class="klein_text_l">
<?php mosLoadModules('user9'); ?>

</div>
</div>

<div class="content">

 <?php mosMainbody(); ?>




</div>
</div>

 </BODY>
</HTML>

  • marty
  • Registratie: Augustus 2002
  • Laatst online: 27-03-2023
faux columns kan een oplossing zijn

  • b4rt_NL
  • Registratie: April 2004
  • Laatst online: 01-12 15:06
Op de een of andere manier werkt het niet bij mij.

Verwijderd

Waarom gebruik je nu een height van 100%? Je site is groter dan je browserhoogte, terwijl de inhoud slechts de helft inneemt bij mij.

Misschien kun je de achtergrond van de sidebar op de achtergrond van de div om 'sidebar' en 'content' zetten.

  • Padschild
  • Registratie: September 2004
  • Laatst online: 28-11-2020
Om de kolommen dezelfde hoogte te geven doe je het volgende:

Geef de container (de parent van de kolommen) een 'overflow: hidden;' mee.

Maak even 2 kolommen, linker en rechter kolom en geef deze een gigantische padding mee, en een negatief even grote margin (of eventueel een verschil, wat uiteindelijk de echte padding wordt...).


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
div.container
{   
   overflow: hidden;    
   width: 800px
}

div.container div
{
    padding-bottom: 20010px;  /* deze 10px verschil is de daadwerkelijke padding die overblijft, mocht je het nodig hebben. */
    margin-bottom: -20000px;  
}

#menu
{
   float: left;
   width: 175px;
}

#content
{
   float: right;
   width: 625px;
}


HTML:
1
2
3
4
5
6
7
8
9
...
<div class="container">
   <div id="menu">
          <!-- menu onderdelen -->
   </div>
   <div id="content">
       <!-- content -->
   </div>
</div>


Stel even de rest van de backgrounds in, eventuele margins en dergelijke, maar je zult zien dat het menu even groot is als de content :)

  • b4rt_NL
  • Registratie: April 2004
  • Laatst online: 01-12 15:06
Padschild schreef op maandag 04 juni 2007 @ 14:46:
Om de kolommen dezelfde hoogte te geven doe je het volgende:

Geef de container (de parent van de kolommen) een 'overflow: hidden;' mee.

Maak even 2 kolommen, linker en rechter kolom en geef deze een gigantische padding mee, en een negatief even grote margin (of eventueel een verschil, wat uiteindelijk de echte padding wordt...).


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
div.container
{   
   overflow: hidden;    
   width: 800px
}

div.container div
{
    padding-bottom: 20010px;  /* deze 10px verschil is de daadwerkelijke padding die overblijft, mocht je het nodig hebben. */
    margin-bottom: -20000px;  
}

#menu
{
   float: left;
   width: 175px;
}

#content
{
   float: right;
   width: 625px;
}


HTML:
1
2
3
4
5
6
7
8
9
...
<div class="container">
   <div id="menu">
          <!-- menu onderdelen -->
   </div>
   <div id="content">
       <!-- content -->
   </div>
</div>


Stel even de rest van de backgrounds in, eventuele margins en dergelijke, maar je zult zien dat het menu even groot is als de content :)
Aahh dat is al beter. Maar na dit heb ik problemen met mijn background plaatje in de menu div. En in IE6 zie ik helemaal geen background ineens meer. Enig idee waarom ?

  • Padschild
  • Registratie: September 2004
  • Laatst online: 28-11-2020
Volgensmij klopt je HTML code niet, je moet even duidelijk zorgen dat al je menu onderdelen BINNEN de div vallen, ook zie ik dat je tables en divs door elkaar heen gebruikt. Maak om te beginnen eerst even de menu en content div leeg, en zorg ervoor dat dat correct is. Stop daarna je onderdelen weer terug in content, kijk of hij netjes uitrekt en bouw dan je menu weer op. Maar zorg er wel voor dat je TWEE div-tags hebt binnen de container, en dat je pas binnen de menu-div-tag weer andere div tags gebruikt.

  • b4rt_NL
  • Registratie: April 2004
  • Laatst online: 01-12 15:06
Padschild schreef op maandag 04 juni 2007 @ 17:38:
Volgensmij klopt je HTML code niet, je moet even duidelijk zorgen dat al je menu onderdelen BINNEN de div vallen, ook zie ik dat je tables en divs door elkaar heen gebruikt. Maak om te beginnen eerst even de menu en content div leeg, en zorg ervoor dat dat correct is. Stop daarna je onderdelen weer terug in content, kijk of hij netjes uitrekt en bouw dan je menu weer op. Maar zorg er wel voor dat je TWEE div-tags hebt binnen de container, en dat je pas binnen de menu-div-tag weer andere div tags gebruikt.
Waar zie je tables bij mij dan ? En zover ik weet klopt de rest, zoniet moet je mij even helpen want zo'n expert ben ik nu ook weer niet in websites maken.

  • Padschild
  • Registratie: September 2004
  • Laatst online: 28-11-2020
Hier (bij gestripte code):

HTML:
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
<div class="container1">
    
        <div class="klein">

            <div class="k_head">menu</div>

            <div class="klein_text_l"></div>

            <div class="k_head">who's online</div>

    
            <div class="klein_text_l"></div>

            <div class="k_head">login</div>

            <div class="klein_text_l"></div>
        </div>

<div class="content">

    <table class="blog" cellpadding="0" cellspacing="0">
        <tr>
        <td valign="top">
        <div>               
            <table class="contentpaneopen">
                <tr>
                    <td class="contentheading" width="100%">
                    Welkom
                    </td>
                </tr>
            </table>
            
            <table class="contentpaneopen">
                <tr>
                    <td width="70%" align="left" valign="top" colspan="2">
                        <span class="small">
                         Written by Administrator
                        </span>
                    &nbsp;&nbsp;
                    </td>
                </tr>
                <tr>
                    <td valign="top" colspan="2" class="createdate">
                    Monday, 14 May 2007 
                    </td>           
                </tr>
                <tr>
                    <td valign="top" colspan="2">

                <p>Hallo welkom op drift-it.nl.</p><p>&nbsp;</p><p>Momenteel ben ik druk bezig met joomla! in mijn bestaande website te integreren.&nbsp;</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p>          </td>
                </tr>

                <tr>
                    <td colspan="2" align="left" class="modifydate">
                    Last Updated ( Sunday, 03 June 2007 )
                    </td>
                </tr>
            </table>

        <span class="article_seperator">&nbsp;</span>

        </div>
        </td>
        </tr>
    </table>
</div>
</div>


Je begint content voordat je container1 hebt afgesloten, en je gaat table tags en div tags door elkaar hen gebruiken. Stond niet helemaal lekker. Gewoon even opnieuw beginnen, netjes opbouwen en gaandeweg fouten opsporen. Maak dus ff alles leeg en probeer het nog eens, eerst een container, dan twee kolommen, en dan de kolommen vullen met correcte code.

Tipje: gebruik tabs, kun je precies zien waar je inspringt en welke code waar genest is.

  • b4rt_NL
  • Registratie: April 2004
  • Laatst online: 01-12 15:06
Padschild schreef op maandag 04 juni 2007 @ 21:15:
Hier (bij gestripte code):

HTML:
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
<div class="container1">
    
        <div class="klein">

            <div class="k_head">menu</div>

            <div class="klein_text_l"></div>

            <div class="k_head">who's online</div>

    
            <div class="klein_text_l"></div>

            <div class="k_head">login</div>

            <div class="klein_text_l"></div>
        </div>

<div class="content">

    <table class="blog" cellpadding="0" cellspacing="0">
        <tr>
        <td valign="top">
        <div>               
            <table class="contentpaneopen">
                <tr>
                    <td class="contentheading" width="100%">
                    Welkom
                    </td>
                </tr>
            </table>
            
            <table class="contentpaneopen">
                <tr>
                    <td width="70%" align="left" valign="top" colspan="2">
                        <span class="small">
                         Written by Administrator
                        </span>
                    &nbsp;&nbsp;
                    </td>
                </tr>
                <tr>
                    <td valign="top" colspan="2" class="createdate">
                    Monday, 14 May 2007 
                    </td>           
                </tr>
                <tr>
                    <td valign="top" colspan="2">

                <p>Hallo welkom op drift-it.nl.</p><p>&nbsp;</p><p>Momenteel ben ik druk bezig met joomla! in mijn bestaande website te integreren.&nbsp;</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p><p>test</p><p>&nbsp;</p>          </td>
                </tr>

                <tr>
                    <td colspan="2" align="left" class="modifydate">
                    Last Updated ( Sunday, 03 June 2007 )
                    </td>
                </tr>
            </table>

        <span class="article_seperator">&nbsp;</span>

        </div>
        </td>
        </tr>
    </table>
</div>
</div>


Je begint content voordat je container1 hebt afgesloten, en je gaat table tags en div tags door elkaar hen gebruiken. Stond niet helemaal lekker. Gewoon even opnieuw beginnen, netjes opbouwen en gaandeweg fouten opsporen. Maak dus ff alles leeg en probeer het nog eens, eerst een container, dan twee kolommen, en dan de kolommen vullen met correcte code.

Tipje: gebruik tabs, kun je precies zien waar je inspringt en welke code waar genest is.
Oh nou snap ik wat je met tables bedoelt, ik include in een div een stukje content van joomla! en die zet er table opmaak in.
Pagina: 1