Avatar billede lyf Nybegynder
14. februar 2005 - 21:06 Der er 22 kommentarer

2 kolonner skal have samme højde

Har leget lidt med det at få 2 kolonner, som ellers er uafhængige af hinanden, til at have samme højde. Begge kolonner har variende indhold, så en fast hoejde kan ikke bruges.

Jeg har opstillet et eksempel her:
- www.zyph.dk/eksempler/equalheights

Jeg har fået det til at virke i FF ved at tilføje display: table; til min container, samt tildele left- og rightcol height:100%;
Avatar billede roenving Novice
14. februar 2005 - 21:13 #1
Hvis en længde (højde/bredde !-) på 100% skal give mening, stipulerer css-standarden entydigt, at den skal tage pågældende størrelse fra nærmest omkransende element, som har en defineret størrelse ...

-- så, såvidt jeg ved, må du give den omkringliggende boks en størrelse, den kan forholde sig til, eller sætte det 'manuelt' via javascript, men jeg vil gerne korrekses, hvis andre løsninger findes !o]
Avatar billede olebole Juniormester
14. februar 2005 - 21:18 #2
<ole>

I stedet for at strikke og hækle alle mulige sære konstruktioner sammen af elementer, der aldrig har været beregnet til at danne kolonner med, kunne man jo bare gøre, som W3C anbefaler ... nemlig bruge en tabel. At gøre andet resulterer ofte i dårlig og ikke videre robust kode.

Og naturligvis min kæphest: I stedet for at skrive dårligt performende kode, burde du skrive HTML4.01-Strict. Du skylder dine brugere at skrive så god kode som muligt og det gør du jo langt fra med XHTML

/mvh
</bole>
Avatar billede lyf Nybegynder
14. februar 2005 - 21:20 #3
Hvis jeg giver mainContainer (den omkringliggende boks) en prædefineret højde, bliver layoutet jo fast, så derfor kunne jeg lige så godt tildele mine 2 kolonner fast højde (= ikke en mulighed)

Der må være muligt at hacke sig frem til en løsning ;-)
Avatar billede lyf Nybegynder
14. februar 2005 - 21:22 #4
Nu har du fået din doctype ole ;-) men det ville ikke være semantisk korrekt at bruge tabeller, da jeg ikke skal opstille data, men lave et layout (= ikke tabeller som du ved).
Avatar billede roenving Novice
14. februar 2005 - 21:25 #5
Bemærk:

" kunne man jo bare gøre, som W3C anbefaler ... nemlig bruge en tabel. "
Avatar billede olebole Juniormester
14. februar 2005 - 22:25 #6
1. Det er så sandelig ikke 'min' DTD.
2. Du tager fundamentalt fejl ... det ville være semantisk helt hen i vejret at bruge andet end en tabel.

Det er rystende ligegyldigt, hvad du har læst hos forskellige uvidende 'web-guruer'. Tabeller er det eneste rigtige element til at danne kolonner og/eller vise tabulerede data.

Den omsiggribende 'tabel-o-fobi' er en total misforståelse af HTML og hvad W3C anbefaler. Den stammer fra den hob af selvbestaltede 'guruer', der ikke har brugt mange minutter på W3C - men befæster hinandens tro ved at gentage hinanden i én uendelighed. Det mest utrolige er, at det er lykkedes dem at skaffe en talstærk skare af 'tilbedere', der hellere end gerne lader sig forføre.
Den nærmeste sammenligning, jeg lige kan komme på, er fundamentalistiske koranskoler.

Nu er religiøse vækkelser noget pokkers svært at bekæmpe, så jeg formoder, du ruller vantro med øjnene og nægter at bruge en tabel. Er det tilfældet, ville jeg dog _meget_ gerne høre begrundelsen for, det skulle være semantisk ukorrekt at bruge en tabel til at opdele en side i kollonner.
Hvis du 'ved', man bør undgå tabeller, kunne det være interessant, om du kunne oplyse den måbende befolkning om, hvorfor  ;o)
Avatar billede lyf Nybegynder
14. februar 2005 - 23:16 #7
Ja, jeg er ret sikkert en af de blinde tilbedere. Nej, ved godt det ikke er 'din' DTD. Det var bare for sjov :) Jeg har læst enormt meget, som de såkaldte guruer har skrevet. Jeg kan ikke argumentere med alle mulige fancy ting, som W3C har sagt, men jeg kan sige at det at kode layouts vha. divs istedet for tables er meget mere venligt, og med det mener jeg, hvordan koden ser ud og hvordan det er at overskue og skrive. Jeg har i lang tid benyttet mig af det, og jeg synes det er meget nemmere. Jeg ved godt, at der er en del ting, som man skal hacke sig frem til, men det er klart opvejet af alle fordelene.
Jeg er af den overbevisning, at tabeller skal bruges til at opstille data. Ikke til at danne layouts. Tabeller blev ikke lavet som en metode for at opstille billeder og tekst på en bestemt måde, men til at præsentere data.

Du har fortalt mig noget lignende før, og jeg har fået øjnene lidt mere op (heldigvis) og set, at de guruer faktisk ikke helt har styr på det alligevel.

Har lige skrabet lidt links frem:
- http://www.hotdesign.com/seybold/ (!)
- http://css-discuss.incutio.com/?page=TablesVsDivs
- http://css-discuss.incutio.com/?page=WhyCss
- http://wdvl.internet.com/Authoring/Style/Sheets/Positioning/Toss/index.html
Avatar billede olebole Juniormester
14. februar 2005 - 23:29 #8
Nej, det har du ret i. HTML er slet ikke lavet til at vise billeder - men det betyder vel ikke, du helt undgår billeder?

Tabeller er netop beregnet til at opdele sider i kollonner. Hvad der så skal i de kollonner, kommer helt anpå dig. Det kan være tekst, billeder og alle de HTML-elementer, du måtte have lyst til. Blot du ikke begynder at neste tabeller unødigt.

Du må være mere end besynderligt skruet sammen, hvis du kan se noget overskueligt i alle de hacks, du må igennem for at få alle mulige andre elementer til at ligne en tabel ... men jeg må jo tro på, hvad du siger. At din kode bliver langt mindre robust af det, er dog langt udenfor debat.

Hvis du har brugt det et stykke tid og mener, det er meget lettere, forstår jeg ikke meningen med dette spørgsmål. Det har du jo netop oprettet, fordi du har stødt panden i muren ... udelukkende fordi, du kæmper med en (undskyld udtrykket) komplet tåbelig kodeskik.
Du indrømmer forhåbentligt, det er totalt vanvid at skulle udi at bruge JavaScript til at efterligne en tabel med andre elementer ... eller ...?  :)
Avatar billede roenving Novice
14. februar 2005 - 23:37 #9
-- og som der faktisk står på dit andet link, så kan det være godt at lave nogle former for struktur med tabeller, men hovedsageligt holde sig til at lave sit layout ved hjælp af andre metoder !-)

-- og det tredje link bruger også termen: 'at du kan undgå nestede tabeller', præcis ikke at du kan undgå tabeller ...
Avatar billede lyf Nybegynder
14. februar 2005 - 23:40 #10
Bær over med mig, jeg er blevet hjernevasket af alle de guruer. Jeg har leget med design uden tabeller i et godt stykke tid, synes jeg selv. Tabeller blev lavet som en metode til at vise tabulære data, det har jeg vel ret i? Jeg vil ikke betegne indholdet på min side (zyph.dk) som tabulær data. Mener du så, at det ville være mere korrekt at bruge tabeller her alligevel?
Nej nej, er helt enig med dig i, at alle de unødige hacks er dumme, men hvorfor bruger vi de hacks? For at få noget (noget rigtigt kodet) til at virke i nogle browsere, som ikke understøtter det (læs: IE). Det er ikke fordi der er mangler, men fordi browserne ikke understøtter det hele endnu. Når de kommer til det, bliver det endnu bedre!

Jeg finder det lettere, men derfor kan man da stadig støde i problemer, som man gerne vil have hjælp til - eller det mener du ikke? ;-)
Og jo, det ville være komplet vanvid at bruge JavaScript til at udføre noget med layout.

- http://www.saila.com/usage/layouts/cssvtables.shtml - og jeg citerer:

"Semantics: The HTML table was conceived as a means to display tabular data. Using tables for layout was mentioned in HTML 3.2, but only to acknowledge existing use—the concept didn’t appear in the original RFC. In future recommendations, the W3C said style sheets, not tables, should be used for layout. Using tables for layouts is like wearing dress shoes jogging—both work, but they’re the wrong tools for the job."


- http://www.hotdesign.com/seybold/everything.html (lidt mere overskuelig end før)
- http://davespicks.com/essays/notables.html
Avatar billede lyf Nybegynder
14. februar 2005 - 23:53 #11
roenving > Jeg mener heller ikke, at man skal undgå tabeller for hver en pris. Så langt ude er jeg heller ikke ;-) Men, jeg ville ikke bruge tabeller til at lave et layout, men hellere end gerne til at opstille tabulær data..
Avatar billede roenving Novice
15. februar 2005 - 00:04 #12
-- og jeg snakker ikke om at lave layout, men struktur !-)

Hvis din struktur på en side skal have et udseende og opbygning, som præcis er en tabel, ville det da være vanvittigt at skulle igennem alle mulige hacks, for at sikre at problemer med box-model og meget andet blev løst ...

-- og netop dit problem med at synkronisere højde har jeg nogle javascript-løsninger liggende til, men når du med noget simpel kode kan udføre noget, som ellers principielt gøres kompliceret, kan det være svært at se fornuften !o]

-- har man netop nogle komplicerede opbygninger og mærkværdigheder kan et javascript dog ofte gøre det ønskede, og kompliceret er det bestemt ikke på andet end et principielt plan:

<script type="text/javascript">
var elms = ['left','middle','right'];

function synchronizeDivs(){
  var maxH = 0;//minimumshøjde
  for(i=0;elms.length>i;i++){
    maxH = Math.max(maxH,document.getElementById(elms[i]).offsetHeight);
  }
  for(i=0;elms.length>i;i++){
    document.getElementById(elms[i]).style.height=maxH + 'px';
  }
}
</script>
Avatar billede olebole Juniormester
16. februar 2005 - 21:54 #13
lyf >> Det ændrer ikke spor ved, hvad roenving og jeg hele tiden kæmper for at få folk til at forstå. Du kan hive 'bibel-citater' ind fra højre og venstre, men kom med ét eneste, der forklarer, hvorfor man bør undgå tabeller til at opdele en side i kollonner.
I 'tabel-o-fobi' artikler henvises udelukkende til misforståelser af W3C-tekster ... ingen forklarer, hvorfor der er en skidt idé. Det er jo nok ikke uden grund  ;o)

Én ting er i øvrigt at læse W3C-rekommendationerne ... en helt anden er at læse de tusindvis af sider, der ligger til grund for disse. Det er der ikke mange, der gider gøre, inden de skriver artikler om WWW-kodning. Derfor opstår så mange misforståelser.

Hvis en jurist kun læste lovgivningen, ville vedkommende være totalt til grin indenfor juriststanden. At være en god jurist kræver, at man læser tusindvis af dokumenter, der forklarer baggrundene for lovgivningen. Gid der var lidt flere kodere, der tog ved lære af det  :)
Avatar billede lyf Nybegynder
18. februar 2005 - 20:37 #14
Så kommer mit sene svar:

roenving >>
Jamen, hvis nu ikke ser på, hvad der er nemmest, men hvad der er mest rigtigt. Så ville det ikke være korrekt at bruge tabeller, selvom layoutet måske i grove træk bare er kolonner og rækker, vel? For så vidt kan jeg forstå på det hele, så skal tabeller KUN bruges til at opstille tabulære data?

Mange tak for dit javascript, det skal jeg lige få kigget på! ;-)


olebole >>
Du skal heller ikke undgå at bruge tabeller til at opdele en side i kolonner, såfremt indholdet i de kolonner er tabulære data? Men jeg kan, til en hvis grad, heller ikke se, hvorfor det er en skidt idé at bruge tabeller – Det ville gøre en del ting lidt lettere, hvis man brugte tabeller.

Der er ikke mange, som kan være stolte, af at kunne sige at de har læst alt det, heller ikke mig! Har du et par specielle links, som jeg burde se lidt paa? :)

Nu må I ikke slå mig helt ihjel. Jeg er blot en dødelig, som prøver at få lidt mere indsigt i emnet !-)
Avatar billede roenving Novice
18. februar 2005 - 23:01 #15
Det er noget vrøvl at snakke om at opstille tabulære data ...

-- skal du opstille dine oplysninger på en måde, som fornuftigvis skal alignes med rækker og/eller kolonner er det noget vrøvl ikke at bruge den slags html-elementer, som er beregnet til den slags, så derfor skal man selvfølgelig bruge tabeller til det ...

-- og der kan selvfølgelig findes grunde til, at man finder andre veje, men en ubegrundet 'religiøs' indstilling har ikke nogen fremtid ...
Avatar billede olebole Juniormester
19. februar 2005 - 02:06 #16
Jeg - helt som ventet - på linie med roenving omkring 'tabullære data'. Der er intet, som gør en tabel uegnet til række- og/eller kollonne-opdeling, blot fordi disse rækker ikke indeholder data, som er tabulleret.
Tværtimod er der ikke et andet element, der er ligeså velegnet til det formål som netop tabellen.

Mange katolikker påstår at Gud har sagt, det er en synd at beskytte sig mod AIDS ved at bruge kondom.
For det første var kondomet slet ikke opfundet, da Moses var til gåhjemmøde hos 'Chefen' og scorede hans 10 noter. For det andet var det længe før, 'Chefen' fik produktudviklet influenzaen til at sætte sig i numsen med fatale følger.

Ikke desto mindre lytter millioner af afrikanere idag efter, hvad disse mørkemænd fortæller dem ... og dør i hobetal. De har aldrig selv læst Biblen, men tror fuldt og fast på andres udlægning af dens indhold - om så det skal koste dem livet.

Kondom-fobien i afrika og tabel-o-fobien på WWW kan på mange måder sammenlignes. Heldigvis har de vidt forskellige følger ... logikken bag dem er dog ganske ens af natur  :)

Jeg har ikke et par links til specielle sider, der er mere værd end andre. Ligesom der heller ikke er to forelæsninger, en medicinstuderende bør komme til for at få styr på lægestudiet. Det er summen af det hele, der giver overblikket.
Avatar billede roenving Novice
19. februar 2005 - 13:42 #17
-- og så skal man selvfølgelig også tilføje, at der er masser af gode grunde til, at mange har fået opbygget en tabel-o-fobi™, for i ældre versioner af html var det kun muligt at aligne nogetsomhelst ved at bruge tabeller, og det resulterede i totalt uoverskuelige tabel-helveder med mylliarder af spacer.giffer, som skulle holde layoutet på plads i op til 10-15 niveauer af tabeller !-)

-- der har vi det heldigvis lettere idag, men det betyder selvfølgelig ikke, at man, fordi det engang var pinedød nødvendigt at bruge tabeller til alt muligt andet end at aligne i rækker og kolonner, fuldstændigt skal afstå fra at bruge dem til det, som de er helt suveræne til ...
Avatar billede svend-herlig Nybegynder
13. december 2007 - 01:57 #18
fantastik stof, koraner og religion... :) og en diskution der med historisk øje er lidt spændende, for den type princip diskutioner er vi vist færdige med mht til tabeller.. :) pt mangler jeg dog stadig en løsning til at fastsætte en variabel højde på en tabel height="100%" er jo ikke rigtig w3 standart, så hvad gør man så?
Avatar billede roenving Novice
13. december 2007 - 15:51 #19
<table style="height:100%"> !-)

-- og såvidt jeg hurtigt kan skimme, holder alt det ovenstående, som olebole og jeg skrev i den forrige tidsalder sig helt frisk i dag !o]
Avatar billede svend-herlig Nybegynder
13. december 2007 - 22:56 #20
det virker så ikke... med style her...
Avatar billede roenving Novice
18. december 2007 - 18:59 #21
Hvis du vil style et element med relativ højde, skal _hele_ striben af omkransende elementer have en højde, dvs. både html-, body-, og andre omkransende elementer skal have height:100% !-)
Avatar billede svend-herlig Nybegynder
17. oktober 2010 - 17:11 #22
skal der lukkes?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester