[CSS] Float werkt niet binnen wrapper

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • borstel
  • Registratie: Juli 2004
  • Laatst online: 08-07 18:53
Ik zit nu al een tijdje te puzzelen maar kom er niet uit. Heb al verschillende dingen geprobeerd in m'n css, maar volgens mij heb ik hem nu redelijk clean.

Ik heb een DIV. Dit moet een soort van vierkant zijn gecentreerd op een pagina. Boven- en onderkant heb ik afgerond door een transparante PNG boven/onder te plaatsen. Rest van de DIV heeft een achtergrond plaatje, waar deze afrondingen dan overheen zitten.

Binnen deze DIV wil ik weer twee DIVs plaatsen. En deze naast elkaar zetten, float:right/left. Alleen nu komt het probleem. Wanneer de DIVs onder elkaar staan, schaalt de hele DIV mooi mee. Zet ik de float 'aan' dan staan de DIVs naast elkaar, maar buiten de wrapper.

Zie ik iets simpels over het hoofd, waarom dit niet lukt. Heb de html/css al een paar keer opnieuw opgemaakt, maar het wil maar niet lukken.

Wat mij tot nu toe gelukt is, staat hier online.

Hieronder twee plaatjes om het duidelijk te maken.

Wrapper ziet er goed uit, schaalt mee met de <p>. Maar staan niet naast elkaar.
Afbeeldingslocatie: http://kttns.org/iwyti

Wel float, maar buiten de wrapper.
Afbeeldingslocatie: http://kttns.org/m2jin

Iemand misschien een tip, kom er al de hele dag niet uit!


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
#page {
    background: #ccc /* url(../images/bgpage.jpg) no-repeat 2px top */;
    width: 964px;
    height: auto;
    margin: 20px auto 20px auto;
}
#wrapper {
    width: 964px;
    background: transparent url(../images/bg.page.body.png) repeat-y;
}
#wrapper .header {
    display: block;
    height: 6px;
    width: 964px;
    background: transparent url(../images/bg.page.header.png) no-repeat;
}
#wrapper .footer {
    display: block;
    height: 6px;
    width: 964px;
    background: transparent url(../images/bg.page.footer.png) no-repeat;
}
#wrapper .content {
    width: 964px;
}
#wrapper .content .left {
    display: block;
    width: 600px;
    position: relative;
    /* float: left; */ /*  werkt niet */
}
#wrapper .content .right {
    display: block;
    width: 250px;
    position: relative;
    /* float: right; */ /*  werkt niet */
}
#page p {
    line-height: 18px;
    padding: 10px;
    text-align: justify;
}

Acties:
  • 0 Henk 'm!

  • Tommasso
  • Registratie: Oktober 2007
  • Laatst online: 05-07 23:15
als ik het goed heb begrepen heb je een div met daarin 2 divs die bijde floaten.

de parent div (wrapper) heeft geen height opgegeven en aangezien floatende divs 'geen hoogte opgeven' denkt de wrapper div dat hij 'leeg' is waardoor hij zo klein wordt.

div kan je oplossen door een extra div aan het einde van de wrapper te maken met CSS: clear: both; tag erbij :)

ik maak even een ranzig voorbeeld:

HTML:
1
2
3
4
5
6
7
8
9
10
<div id="wrapper">
 <div class="left" style="float: left;">
  tekst
 </div>
 <div class="right" style="float: right;">
  tekst
 </div>
 <div class="clear" style="clear: both;">
 </div>
</div>

[ Voor 26% gewijzigd door Tommasso op 12-05-2009 22:35 ]


Acties:
  • 0 Henk 'm!

  • borstel
  • Registratie: Juli 2004
  • Laatst online: 08-07 18:53
Wow, haha! Vrij logisch inderdaad, als je het zo bekijkt. En ik zit de hele dag te klooien, en opnieuw alles te maken. Hij werkt!


code:
1
<div class="clear"></div>



Afbeeldingslocatie: http://kttns.org/zdi2z

Acties:
  • 0 Henk 'm!

  • orf
  • Registratie: Augustus 2005
  • Laatst online: 00:44

orf

Een overflow:hidden op de parent werkt ook en scheelt je onnodige mark-up.

Acties:
  • 0 Henk 'm!

  • robdejongNL
  • Registratie: Januari 2005
  • Laatst online: 17:15

robdejongNL

Bite me

echter zou je er ook voor kunnen kiezen om de wrapper een overflow: hidden te geven. Dan hoef je ook geen extra div te plaatsen:


HTML:
1
2
3
4
5
6
7
8
<div id="wrapper" style="overflow: hidden;">
 <div class="left" style="float: left;">
  tekst
 </div>
 <div class="right" style="float: right;">
  tekst
 </div>
</div>

[ Voor 0% gewijzigd door robdejongNL op 12-05-2009 22:44 . Reden: te laat, zie hierboven ]

I'm a big fan of the Mars Bar Diet. Stick it up your arse and let a rottweiler chase you home


Acties:
  • 0 Henk 'm!

  • Tommasso
  • Registratie: Oktober 2007
  • Laatst online: 05-07 23:15
orf schreef op dinsdag 12 mei 2009 @ 22:42:
Een overflow:hidden op de parent werkt ook en scheelt je onnodige mark-up.
die werkt idd volgens mij ook, maar zelf houd ik niet van het style element overflow, maar das persoonlijke voorkeur.

volgensmij zijn er zelfs nog meer varianten, maar die ken ik allemaal niet uit m'n kop :P

zelf zie ik niet echt een voordeel danwel nadeel in het gebruik van danwel clear danwel overflow, maar ik denk dat veel mensen dat niet met me eens zijn :)

Acties:
  • 0 Henk 'm!

  • borstel
  • Registratie: Juli 2004
  • Laatst online: 08-07 18:53
Super bedankt allemaal. Het werkt beide, ik ben weer een stapje verder!

_/-\o_

[ Voor 30% gewijzigd door borstel op 12-05-2009 23:01 . Reden: resultaat url toegevoegd ]

Pagina: 1