Allan Vebel wrote:
> Jonas Koch Bentzen <ingen.email@eksempel.dk> skrev:
>
>> er det meningen, at de tre kolonner skal have samme højde.
>
> Så giver du bare din <div> en højde.
Ja, det siger I allesammen :) Jeg har stadig ikke set et eneste eksempel på,
at det kan lade sig gøre at få tre kolonner, der
1. Altid har ens højde
2. Fylder 100% af siden (ingen scrollbars), hvis der kun er lidt tekst i
indholds-div'en.
3. Udvider sig, hvis indholds-div'en indeholder meget tekst.
Jeg har prøvet stort set alle kombinationer af height, min-height osv.
Jeg kunne dog få det til at lykkes på én måde: Ved at sætte display:
table-cell på de tre div'er. Jeg var glad, da det så fint ud i Mozilla,
Konqueror og Opera, men jeg tænkte, at jeg lige måtte prøve Den Dårlige
Browser også (Internet Explorer 6) - og ganske rigtigt: Den forstår ikke
display: table-cell og viser div'erne under hinanden i stedet for ved siden
af hinanden.
> Jeg havde lige dette eksempel liggende:
>
http://webzap.dk/allan, som viser lidt af problematikken.
Igen, den lever jo ikke op til mit krav om, at div'erne skal gå ned til
bunden, men ikke frembringe scrollbars, når der kun er lidt tekst. I
Mozilla er der i hvert fald scrollbars - på trods af, at der ikke er tekst,
der når helt ned i bunden.
>> div-løsningen også hamrende ufleksibel.
>
> Det er ikke mit indtryk. Er du vant til tabelceller vil jeg give dig ret i
> at <div> kræver en helt anden tankegang - men det vænner man sig
> til.
Jeg har brugt div'er i flere år (det er to år siden, jeg sidst har lavet et
tabelbaseret design), så det er ikke et spørgsmål om vane for mit
vedkommende.
Som hovedregel er div'er glimrende. Min påstand er bare, at der altså er
situationer, hvor tabeller er bedre, selv om man ikke vil lave en rigtig
tabel, men bare sidestruktur.
Her er hovedpointen: Med div'er laver man tre kasser, som man ved hjælp af
absolut positionering møjsommeligt placerer ved siden af hinanden. Ændrer
man bredden på én div, skal man som regel også ændre bredden, margin eller
lignende på de andre.
Med tabeller ved browseren, at der er en sammenhæng mellem de tre kolonner.
Er der f.eks. et felt i midten af tabellen, som man ikke har angivet højde
og bredde på, så får det alligevel den rigtige størrelse, fordi browseren
ved, at feltet er en del af en større helhed, nemlig hele tabellen.
> Prøv også at se
http://drugtest.dk/ny (noget jeg er i gang med). Her har
> jeg brugt forskellige lag med <div> til at styre designet. Se specielt
>
http://drugtest.dk/drugtest.css for nærmere detaljer.
Umiddelbart virker siden som den skal. Det kunne dog være interessant at se,
hvordan den opfører sig, når der er en klar afgrænsing (ramme) om div'erne.
Dér kunne jeg nemlig forestille mig, at bundrammen ville være lige under
teksten i det tilfælde, hvor der ikke er så meget indhold i
indholds-div'en. Dermed ville menu-div'en være højere end indholds-div'en.
--
Jonas Koch Bentzen