[CSS] Lege ruimte in container opvullen met Layer (DIV)

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

  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
Beste Tweakers (en andere),

Ik heb een vraag/probleem. En dat is het volgende ik ben bezig met het maken van een pagina waar men een bericht kan plaatsen en daarbij een foto of/en een bestand kan 'hangen'. Dit maak ik in PHP en MySQL. Nu return ik in PHP dmv een WHILE loop alle records.

Ik return deze in verschillende DIVjes. Nu heb ik het zo gemaakt dat waar er een foto aan het artikel hangt dat deze dan in een div verschijnt. Deze DIV verschijnt dan NAAST de DIV waar het bericht van het artikel staat. Dus zij delen de breedte van de containerDIV die daaromheen zit.

Nu heeft de foto een standaard grote van maximaal 150PX. De container DIV word opgerekt wanneer er een foto aan het artikel in gekoppeld. Dus deze container word dan 150PX hoog. Nu wil de DIV waar het artikel in staat. Dat is de DIV die naast de foto staat niet even hoog worden.. Deze moet dus even hoog worden dan de foto DIV. (Wanneer er genoeg text in staat gebeurd dit wel.. want dan goeit hij mee met de content)

Ik heb een aantal plaatjes te verduidelijking.

Afbeeldingslocatie: http://server2.uploadit.org/files/bartvd18-zoals_het_nu_is.jpg
Nu is plaatje A een bericht zonder foto. Maar met de standaard hoogte van die 150PX van een foto. Alleen nu staat er een gedeelte niets. Onder de text... In dit geval valt dit nog mee maar wanneer er 1 zin staat is dit nog erger.

Plaatje B is een bericht met foto. Deze is goed. Zo wil ik hem hebben als er een foto aan toegevoegd is.

Afbeeldingslocatie: http://server2.uploadit.org/files/bartvd18-zoals_het_nu_is2.jpg
Plaatje C is zoals ik het wil wanneer er geen foto aan het artikel is toegevoegd. Deze heeft geen standaard hoogte en groeit dus mee met de inhoud.

Plaatje D is dus ook zonder standaard hoogte maar dan groeit dus de DIV waar het bericht instaat niet mee met de hoogt van de foto.... en dus krijg je een gedeelte waar je dus de container ziet.

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
    #container-artikel {
        /*width: 700px;
        \width: 720px;
        w\idth: 700px;*/
        border: 1px solid gray;
        margin: 10px;
        margin-left: 5px;
        margin-right: 5px;
        padding: 0px;
    }

    #banner-artikel {
        padding: 1px;
        margin-bottom: 1px;
        background-color: rgb(213, 219, 225);
    }

                #foto-artikel {
                                float: right;
                                width: 200px;
                                \width: 202px;
                                w\idth: 200px;
                                margin: 0;
                                margin-left: 0px;
                                padding: 0px;
                                background-color: rgb(213, 219, 225);
                }       
        
    #content-artikel {
                                padding: 1px;
                                /*height: 151px;*/ /* wanneer ik deze aanzet krijg ik dus plaatje A en B, nu krijg ik plaatje C en D
                                margin-right: 0px;
                                background-color: rgb(213, 219, 225);
    }

    #footer-artikel {
                                clear: both;
                                padding: 1px;
                                margin-top: 1px;
                                background-color: rgb(213, 219, 225);       
    }
        
                #bestanden-artikel {
                                clear: both;
                                padding: 1px;
                                margin-top: 1px;
                                background-color: rgb(213, 219, 225);
    }



Wie kan mij helpen....?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Als je nou eens geen height gebruikt?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Ten eerste, 2 DIV's naast elkaar kunnen niet allebei oprekken als er een oprekt. Is het niet gewoon op te lossen door gen height op te geven? Je gaf nl. al aan dat er sprake is van oprekken.
edit:
te laat...

[ Voor 8% gewijzigd door Rowanov op 07-01-2005 11:34 ]


  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
BtM909 schreef op vrijdag 07 januari 2005 @ 11:30:
Als je nou eens geen height gebruikt?
Dan krijg ik dus het probleem van plaatje C en D... dan vult de DIV waar het bericht is staan niet mooi....


En op een 1 of andere manier krijg ik dan geen mooie layout.. kijk maar eens naar plaatje D en de links van de DIVs

[ Voor 20% gewijzigd door bdu op 07-01-2005 11:35 ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

bdu schreef op vrijdag 07 januari 2005 @ 11:33:
[...]

Dan krijg ik dus het probleem van plaatje C en D... dan vult de DIV waar het bericht is staan niet mooi....
Nee, want je hoeft voor 't plaatje toch geen div te gebruiken... Div is niet almachtig en hoeft niet om elk los element hoor ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Heb je een online testcase zodat wij met eigen ogen dit probleem kunnen zien?

  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
BtM909 schreef op vrijdag 07 januari 2005 @ 11:35:
[...]

Nee, want je hoeft voor 't plaatje toch geen div te gebruiken... Div is niet almachtig en hoeft niet om elk los element hoor ;)
Ik heb het ook al geprobeerd om de foto in dezelfde div te plaatsen als het bericht maar dan staat die foto niet mooi rechts van het bericht... hoe los ik dit op dan??

  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
Rowanov schreef op vrijdag 07 januari 2005 @ 11:35:
Heb je een online testcase zodat wij met eigen ogen dit probleem kunnen zien?
Ik heb helaas geen FTP connectie tot mijn beschikking... port 21 is geblockt..

  • Woudloper
  • Registratie: November 2001
  • Niet online

Woudloper

« - _ - »

bdu schreef op vrijdag 07 januari 2005 @ 11:39:
Ik heb helaas geen FTP connectie tot mijn beschikking... port 21 is geblockt..
Kan je dan wellicht nog een stuk van de HTML code tonen aangezien het lastig is om het probleem te vinden door alleen naar de CSS te kijken...

  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
Het verschil tussen de plaatje 'A en B' en 'C en D'

Is dat er bij plaatje 'A en B' de hoogte van "#content-artikel" is aangegeven.....


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
<style type="text/css">

    @import "nav/base.css";
    @import "includes/style.inc.css";
</style>



<div id="container-artikel">

        <div id="banner-artikel"><b>123</b> - 01-01-2005 21:34:59 - By The Way</div>



<div id="content-artikel">lalallaaalalalalala lalal al a al ala llalaaala   al la l aa l ala l a ala l a lalalala lal a la l al  ala lalalal lalala la la lala l ala lalalalallaaalalalalala lalal al a al ala llalaaala   al la l aa l ala l a ala l a lalalala lal a la l al  ala lalalal lalala la la lala l ala lalalalallaaalalalalala lalal al a al ala llalaaala   al la l aa l ala l a ala l a lalalala lal a la l al  ala lalalal lalala la la lala l ala lalalalallaaalalalalala lalal al a al ala llalaaala   al la l aa l ala l a ala l a lalalala lal a la l al  ala lalalal lalala la la lala l ala lalalalallaaalalalalala lalal al a al ala llalaaala   al la l aa l ala l a ala l a lalalala lal a la l al  ala lalalal lalala la la lala l ala lala</div>

<div id="footer-artikel">&nbsp;</div>


<div id="bestanden-artikel"><a href="artikel/documenten/2005-01-01_21-35-34_7128_feest.txt">[img]"plaatjes/paperclip.gif"[/img]2005-01-01_21-35-34_7128_feest.txt - <b>[download]</b> - Geen Opmerking</a></div>

</div>
<div id="container-artikel">

        <div id="banner-artikel"><b>Dit is nog een test.. we blijven maar testen..</b> - 29-12-2004 21:18:43 - By The Way</div>

<div id="foto-artikel"><a href="javascript:window.open('artikel/bestanden/image22.jpg','','ontop=yes,toolbar=no,resizable=yes,scrollbars=yes,width=600,height=600'); void('');">[img]"bestanden/thumbs/image22.jpg"></a></div>


<div[/img]Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR>
Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR>
Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR>
Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR>
Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR>
Op een dag werd er wat afgestest.. hij bleef maar door gaan, de GEK!<BR></div>

<div id="footer-artikel">&nbsp;</div>


<div id="bestanden-artikel"><a href="artikel/documenten/2004-12-29_21-21-04_8423_voorbeeld.jpg">[img]"plaatjes/paperclip.gif"[/img]2004-12-29_21-21-04_8423_voorbeeld.jpg - <b>[download]</b> - Geen Opmerking</a></div>


<div id="bestanden-artikel"><a href="artikel/documenten/2004-12-29_21-21-04_2508_Untitled-2.jpg">[img]"plaatjes/paperclip.gif"[/img]2004-12-29_21-21-04_2508_Untitled-2.jpg - <b>[download]</b> - Geen Opmerking</a></div>


<div id="bestanden-artikel"><a href="artikel/documenten/2004-12-29_21-21-04_3642_bart.html">[img]"plaatjes/paperclip.gif"[/img]2004-12-29_21-21-04_3642_bart.html - <b>[download]</b> - Geen Opmerking</a></div>


<div id="bestanden-artikel"><a href="artikel/documenten/2004-12-29_21-21-04_1871_kamer.vsd">[img]"plaatjes/paperclip.gif"[/img]2004-12-29_21-21-04_1871_kamer.vsd - <b>[download]</b> - Geen Opmerking</a></div>

</div>


om het een beetje mooi weer te geven zoals die van mij... zou je ff een plaatje van 150 bij 200 op de plaats van het plaatje moeten neerzetten....

[ Voor 20% gewijzigd door bdu op 07-01-2005 11:51 ]


  • DJ Buzzz
  • Registratie: December 2000
  • Laatst online: 03-05 13:01
Lijkt mij dat de beste oplossing is om het plaatje te floaten en dan onder de tekst een lege paragraaf te zetten met het clear attribuut.
Je moet dan de tekst en het plaatje in 1 div hebben staan, waarbij de lege paragraaf de laatste is binnen die div.

Cascading Stylesheet:
1
2
3
4
5
#clear p {
    clear : both;
    line-height : 0px;
    font-size : 1px;
}

  • bdu
  • Registratie: Februari 2002
  • Laatst online: 16:13
djbuzzz schreef op vrijdag 07 januari 2005 @ 12:01:
Lijkt mij dat de beste oplossing is om het plaatje te floaten en dan onder de tekst een lege paragraaf te zetten met het clear attribuut.
Je moet dan de tekst en het plaatje in 1 div hebben staan, waarbij de lege paragraaf de laatste is binnen die div.

Cascading Stylesheet:
1
2
3
4
5
#clear p {
    clear : both;
    line-height : 0px;
    font-size : 1px;
}
BtM909 schreef op vrijdag 07 januari 2005 @ 11:35:
[...]

Nee, want je hoeft voor 't plaatje toch geen div te gebruiken... Div is niet almachtig en hoeft niet om elk los element hoor ;)
Ik heb het idd op een deze/andere manier gedaan!!! bedankt

Cascading Stylesheet:
1
2
3
        img.Artikel-foto {
                float: right;
        }

[ Voor 6% gewijzigd door bdu op 07-01-2005 12:11 ]


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

A list apart had daar laatst ook een artikeltje over, het ging dan wel over 'cross column pull outs' maar dat is hier ook wel toepasbaar. http://www.alistapart.com/articles/crosscolumn/
Pagina: 1