Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

min-height: 100% -> lange en korte inhoud, firefox

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

Verwijderd

Topicstarter
Het klassieke probleem met 100% min-height lijkt als een rode draad door mijn html kennis te lopen.. of eerder als een splinter te steken. Het is me ooit gelukt om het voor elkaar te krijgen en nu lijkt het weer niet te lukken. Ik vroeg me af of mensen willen reageren en hun kennis hierover willen uiten. Alleen als je de vraag goed begrepen hebt alsjeblieft.

probleem:

Ik heb een eenvoudige test-pagina gemaakt om het probleem uitgekleed te tonen.
www.vasili.nl/speeltuin/100height.html
Een header, een middenstuk en aan weerzijden een kolom. De bedoeling is dat de drie div's doorlopen tot de onderkant van het scherm. Ik test dit nu enkel op firefox. En zelfs daar lukt het niet om alles door te laten lopen tot de onderkant. min-height: 100% lijkt in eerste instantie te werken.. maar zodra je het venster kleiner schaalt en er een scrollbalk komt en je gaat scrollen dan houden de div's op met doorlopen daar waar de onderkant van het scherm oorspronkelijk zat.
Ik moet dus een min-height oplossing hebben die werkt met lange inhoud (inhoud die doorloopt buiten het scherm) korte inhoud, en ook nog steeds doorloopt als je je venster heel klein hebt gemaakt en je begint te scrollen. Een crossbrowser oplossing is de laatste eis. Maar dit lijkt me minder problematisch. Daar heb ik al eerder mee te maken gehad. Ik wil het eerst werkend krijgen in firefox!

hieronder de code.. zoals je ziet ook container geprobeerd. Verder alles al gehad.. min-height, height.. auto.. combinaties etc. Begrijp er niks meer van!


hmm.. 100% min-height lijkt op de server opgelost te zijn (ontdekt tijdens het schrijven van deze topic) maar als het ding offline staat wil het niet. Ligt dat aan mijn doctype? Uiteindelijk moet ik een nieuwsbrief maken en die zijn offline.. iemand een offline oplossing voor min-height: 100% ?

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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl">
    <head>
        <style type="text/css">
        html,body
        {
            height:             100%;
            width:              600px;  
        }
        #container
        {
            background-color:   #000;
            position:           relative;
            min-height:         100%;
            height:             auto !important; /* voor moderne browsers */
            height:             100%; /* voor IE */         
        }
        #header
        {
            height:             50px;
            width:              600px;
            background-color:   red;
            color:              #FFF;   
        }
        #left_colum
        {
            min-height:         100%;
            width:              70px;
            background-color:   #BBBBFF;
            float:              left;   
        }
        #middle
        {
            min-height:         100%;
            width:              460px;
            background-color:   #BBFFBB;
            float:              left;   
        }       
        #right_colum
        {
            min-height:         100%;
            width:              70px;
            background-color:   #FFBBBB;
            float:              left;   
        }
        </style>
    </head>
    <body>
    <!-- <div id="container"> -->
        <div id="header">
            <h1>nieuwsbrief</h1>
        </div>
        <div id="left_colum">
        foo
        </div>
        <div id="middle">
            <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Sed scelerisque elit in ipsum. Cras risus tellus, dictum a, posuere malesuada, pharetra vitae, elit. Aliquam erat volutpat. Phasellus iaculis, ante gravida euismod fringilla, neque erat sollicitudin velit, et fringilla lorem ligula at nibh. Donec pede nisl, consectetuer non, ultrices et, venenatis sit amet, velit. Donec tincidunt massa fermentum elit accumsan luctus. Morbi leo. Proin accumsan. Pellentesque dui ligula, molestie at, molestie vitae, luctus vestibulum, ligula. Aliquam vehicula lacus quis velit.

            </p><p>Sed faucibus diam eget nunc. Vivamus lacus diam, tempor eget, blandit eget, adipiscing in, risus. Maecenas erat. Phasellus leo erat, rutrum in, eleifend at, elementum sit amet, lorem. Donec in turpis. Suspendisse justo. Proin a tellus at nibh condimentum imperdiet. Nunc sit amet augue. Aenean nonummy. Nulla condimentum sollicitudin lectus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce nunc sem, pulvinar quis, malesuada at, semper sit amet, ipsum. Aliquam ac risus eu leo egestas aliquam. Donec quam risus, porttitor a, scelerisque at, elementum molestie, lorem. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. </p>
        </div>
        <div id="right_colum">
        bar
        </div>
    <!-- </div> -->
    </body>
</html>


De lelijke doorgestreepte verhalen heb ik er in gelaten voor degene die niet weten wat ik bedoel met het "100-min-height-probleem" 8)7

alvast bedankt! :)

  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 17-11 09:06
De simpelste oplossing voor het gelijkhouden van drie kolommen is door de achtergrond kleur niet op elk van de kolommen te zetten, maar door een achtergrond afbeelding op een wrapper om de kolommen heen te zetten. Kijk maar eens naar deze pagina:

http://www.ncrv.nl/ncrv?nav=ynvbIsHtGATwF

De achtergrond afbeelding van het middendeel van die pagina ziet er zo uit:

http://www.ncrv.nl/gxnh/ZwhzntnHejB.gif

De kolommen hebben elk een andere hoogte. Maar doordat de achtergrond wel doorloopt zie je dat niet. Dus grofweg:

code:
1
2
3
4
5
<div style="width: 300px; background-image: url( 3kolommen.gif );">
  <div style="width: 50px; float: left;">Kolom 1</div> 
  <div style="width: 200px; float: left;">Kolom 2</div> 
  <div style="width: 50px; float: left;">Kolom 3</div> 
</div>


Edit: Als ik had geweten hoe je 'faux' schrijft dan had ik je kunnen verwijzen naar 'faux columns'. :) Zo heet deze techniek namelijk.

[ Voor 9% gewijzigd door f.v.b op 14-01-2008 22:01 . Reden: Tekst wat duidelijker gemaakt ]

Don't erase all files?
       [Yes]   [No]


Verwijderd

Topicstarter
dank je voor deze tip.. :)
zal helaas in mijn nieuwsbrief geval niet lukken. niet elke kolom in mijn nieuwsbrief heeft een effen of horizontaal gradient verloop..
je bedoeld met je code denk ik dit:

code:
1
<div style="width: 300px; background-image: url('./3kolommen.gif'); background-repeat: y-repeat;">


Maar bedankt alsnog!

Vooralsnog bestaat het probleem dat de boel niet doorloopt.. in gegeven voorbeeld wel (maar alleen als deze online staat! ) en in mijn nieuwsbrief niet.. tenminste.. dan loopt de linkerkolom door en de rechter niet. Rechterkolom is ook nog eens een iframe maar dat moet niks uitmaken.

Bestaat er een briljante oplossing voor 100% min-height... altijd en overal werkend!?!?

  • f.v.b
  • Registratie: Januari 2008
  • Laatst online: 17-11 09:06
Verwijderd schreef op dinsdag 15 januari 2008 @ 11:45:
Vooralsnog bestaat het probleem dat de boel niet doorloopt.. in gegeven voorbeeld wel (maar alleen als deze online staat! ) en in mijn nieuwsbrief niet.. tenminste.. dan loopt de linkerkolom door en de rechter niet. Rechterkolom is ook nog eens een iframe maar dat moet niks uitmaken.
HTML-mail is alsof je terug gaat naar 1995. Veel is er in HTML-mail niet mogelijk (CSS). Een aantal dingen wel (tabellen, inline styles). Pas je ontwerp daar op aan.

Zelf heb ik nog nooit iframe's in HTML-mail gebruikt. Controleer dus eerst of dat in meer dan 90% van de (web)mail clients gaat werken. Ik vermoed namelijk van niet.

Don't erase all files?
       [Yes]   [No]


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 19-11 09:49

Bosmonster

*zucht*

Ik probeer ook altijd mailings met ouderwetse HTML (3.2 ofzo) op te maken en probeer gewoon geen CSS nodig te hebben. Soms finetune ik het uiteindelijk wel met wat eenvoudige inline CSS, maar ik probeer het zoveel mogelijk te voorkomen. Het is inderdaad even terug naar 1995.

De introductie van Office 2007 heeft dit nog een stukje erger gemaakt. Nu kun je niet eens meer achtergronden in tabellen gebruiken bijvoorbeeld dankzij het briljante idee vna Microsoft om de Word-renderer te gebruiken in Outlook 2007 ipv de IE-renderer... *zucht*