[CSS] Twee kolommen: 1 fixed andere flexibele breedte*

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • VR46
  • Registratie: Januari 2005
  • Laatst online: 08-09 12:51
Hoe kan ik ervoor zorgen dat ik twee div-kolommen naast elkaar krijg, zodat de linker een vaste breedte krijgt (bijv. 300px) en de rechter zich aanpast aan de hoeveelheid vrije ruimte?

Het idee is dat er één soort 'container' div is, waarin twee divs komen te staan die als kolommen fungeren.
Ter toelichting heb ik er hier even een schets van staan:
Afbeeldingslocatie: http://carlobernardini.nl/csslayout.gif

Thanks!

[ Voor 18% gewijzigd door BtM909 op 09-06-2009 15:26 ]


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Toch maar even een nieuw topic aangemaakt

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.


Acties:
  • 0 Henk 'm!

  • VR46
  • Registratie: Januari 2005
  • Laatst online: 08-09 12:51
BtM909 schreef op dinsdag 09 juni 2009 @ 15:31:
Toch maar even een nieuw topic aangemaakt
Dank je, ook goed :)

Acties:
  • 0 Henk 'm!

  • pauldegroot
  • Registratie: April 2006
  • Niet online

pauldegroot

silent sounds

Gewoon een container maken van 100% width met vervolgens twee divjes erin waarvan je eerste 300px width heeft met float:left en je tweede 100% width heeft en ook float:left.


HTML:
1
2
3
4
<div id="maincontainer"> 
    <div id="linkerveld"></div> 
    <div id="rechterveld"></div>
</div


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
#maincontainer {
    width: 100%;
}
#linkerveld {
    width: 300px;
    float: left;
}
#rechterveld {
    width: 100%;
    float: left;
}

[ Voor 29% gewijzigd door pauldegroot op 09-06-2009 15:54 ]


Acties:
  • 0 Henk 'm!

  • Boelie-Boelie
  • Registratie: November 2004
  • Laatst online: 26-09-2020
@pauldegroot: heb je jouw advies zelf geprobeerd? Een div heeft van zichzelf al een width van 100%. Verder: 300 px + 100% = overschrijding schermbreedte.

Een mogelijke oplossing voor het TS-probleem is een linksfloatende kolom van 300px en een tweede kolom met een linkermarge van 310px.

Cogito ergo dubito


Acties:
  • 0 Henk 'm!

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Zelf heb ik dit ook ooit nodig gehad en heb het als volgt gedaan:

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
        html, body
        {
            margin: 0;
            padding: 0;
        }
        #fixed
        {
            float: left;
            width: 300px;
            margin-left: -100%;
            border: solid 1px blue;
        }
        #fill-outer
        {
            float: left;
            width: 100%;
        }
        #fill
        {
            margin-left: 303px;
            border: solid 1px blue;
        }
        .clear-left
        {
            clear: left;
        }


HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<body>
    <div id="main">
        <div id="fill-outer">
            <div id="fill">
                Rest
            </div>
        </div>
        <div id="fixed">
            Links
        </div>
        <div class="clear-left">
        </div>
    </div>
</body>


Op deze manier werkt het bij mij goed!

Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10

MoietyMe

zij/haar

Nog een manier:

HTML:
1
2
3
4
5
6
7
8
<div id="root">
    <div id="left">
        <h2>Links</h2>
    </div>
    <div id="right">
        <h2>Rechts</h2>
    </div>
</div>


Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
h2 {
    margin:0;
}

#root {
    padding:20px;
    border:1px solid #000;
}

    #left {
        float:left;
        width:300px;
        border:1px solid #000;
    }
    
    #right {
        padding:0 0 0 320px;
        border:1px solid #000;
    }


Live preview: Kolommen

Acties:
  • 0 Henk 'm!

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Good Fella schreef op woensdag 10 juni 2009 @ 11:25:
Nog een manier:
Code....
Live preview: Kolommen
Alleen is het nadeel aan jouw manier dat wanneer er in het rechter deel een element zit met "width:100%" dat element in IE6 onder het linker deel wordt geplaatst. Een groot nadeel vind ik.

Daarom heb ik ook even moeten zoeken naar mijn oplossing welke vooralsnog goed werkt in IE6, IE7, FF (meer niet getest).

Acties:
  • 0 Henk 'm!

  • Rvanlaak
  • Registratie: Juni 2005
  • Laatst online: 19-09 10:52
Modbreak:Maak een eigen topic aan en kaart niet je eigen probleem in andersmans topic :)

[ Voor 88% gewijzigd door BtM909 op 10-06-2009 20:41 ]


Acties:
  • 0 Henk 'm!

  • tonyisgaaf
  • Registratie: November 2000
  • Niet online
-snip-
Ten eerste probeer je dit topic te kapen met een totaal ander probleem.
Ten tweede zou ik eens zoeken op "faux columns"

[ Voor 72% gewijzigd door BtM909 op 10-06-2009 20:41 ]

NL Weerradar widget Euro Stocks widget Brandstofprijzen widget voor 's Dashboard


Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14

NielsNL

DigiCow

Op dit soort momenten vraag ik me wel eens af waarom het verboden is om layout met tabellen te maken.
* NielsNL rent!

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 18-09 16:28

Bosmonster

*zucht*

NielsNL schreef op vrijdag 12 juni 2009 @ 16:41:
Op dit soort momenten vraag ik me wel eens af waarom het verboden is om layout met tabellen te maken.
* NielsNL rent!
Je hoeft niet te rennen hoor:

se-man-tiek

plus het is nergens voor nodig als je weet waar je mee bezig bent ;)

Acties:
  • 0 Henk 'm!

  • NielsNL
  • Registratie: Januari 2002
  • Laatst online: 08-09 20:14

NielsNL

DigiCow

Maar af en toe zou het met een tabel best makkelijker kunnen. Dingen als "faux columns" zijn niet voor niks uitgevonden. Of een javascriptje om 2 div'jes even hoog te maken. :)

M'n Oma is een site aan het haken.


Acties:
  • 0 Henk 'm!

  • MoietyMe
  • Registratie: Juli 2003
  • Laatst online: 26-05 08:10

MoietyMe

zij/haar

Face_-_LeSS schreef op woensdag 10 juni 2009 @ 12:00:
[...]


Alleen is het nadeel aan jouw manier dat wanneer er in het rechter deel een element zit met "width:100%" dat element in IE6 onder het linker deel wordt geplaatst. Een groot nadeel vind ik.

Daarom heb ik ook even moeten zoeken naar mijn oplossing welke vooralsnog goed werkt in IE6, IE7, FF (meer niet getest).
Dat gebruik ik bijna nooit, al snap ik wel dat dat in dit geval een voordeel kan zijn, maar block-levelelemeneten worden toch even breed als de rechter div toestaat :)

Acties:
  • 0 Henk 'm!

  • Face_-_LeSS
  • Registratie: September 2004
  • Niet online
Good Fella schreef op vrijdag 12 juni 2009 @ 16:56:
[...]

Dat gebruik ik bijna nooit, al snap ik wel dat dat in dit geval een voordeel kan zijn, maar block-levelelemeneten worden toch even breed als de rechter div toestaat :)
Klopt, ik liep er ook pas tegen aan toen ik een table-element over de volledige breedte van het rechter deel wilde hebben (waarvan ik mezelf voor kan stellen dat ook anderen dat willen). Het heeft ook even geduurd tot ik achter de oplossing was dus misschien help ik hier ook anderen hier mee.
Pagina: 1