10. oktober 2014 - 19:57Der er
12 kommentarer og 1 løsning
Hvem ved det her om feltstørrelse i colspan
Er der en af jer, der ved hvordan det her hænger sammen:
Jeg har en table med følgende felter: Idnr skal være 50px Efternavn 100px Fornavn 100px Født 50px Fødested 300px Sidste adresse 300px Død 50px
Og de felter skal stå på samme linje.
Så er spørgsmålet om jeg ikke kan bruge colspan i en table således: <table width"1200px"> <td>Idnr</td> <td colspan"2">Efternavn</td> <td colspan"2">Fornavn</td> <td>Født dato</td> <td colspan"3">Fødested</td> <td colspan"3">Sidst kendte adresse</td> <td>Død dato</td> </table>
I min css sætter jeg td (og dermed Idnr) til width 50px, burde så f.eks efternavn - som jo er sat med colspan "2" til at dække 2 felter - så ikke blive på 100px? Ligeledes med Fødested, der er sat til colspan 3, den må så blive 150px. Jeg spørger, fordi jeg synes ikke, at jeg kan finde nogen forklaring eller eksempler på nettet over, hvordan de feltstørrelser bliver beregnet. Bortset fra at colspan "2" dækker over 2 felter, ja det kan jeg godt forstå, men hvor får colspan sin størrelse fra? Jeg ved ikke om dette er tydeligt nok forklaret - er der nogen der kan hjælpe her?
For det første mangler du nogle lighedstegn. Dine colspan, width osv. virker ikke før der står colspan="2" osv.
Ud over det forstår jeg faktisk slet ikke, hvad du prøver på. Colspan giver slet ingen mening, hvis du sætter det på hver række i tabellen, det er kun til at bruge nogle gange. Men når du bruger det, spreder en kolonne sig ind over næste kolonne, og får dermed naturligvis bredden af både sin egen og den næste i rækken.
Jeg er godt klar over det med lighedstegn, jeg skrev bare det her indlæg lidt hurtigt fordi jeg sidder og arbejder med det uden at få det ønskede resultat. Det jeg vil er at have ens størrelse felter på f.eks Efternavn og Fornavn - ligeledes med Fødested og Sidts adresse. Jeg kan selvfølgelig bruge width udfor felterne, men så vidt jeg forstår er det jo en forkert måde at kode det på i forhold til den vedtagne standard for html.
med tabel behøver du ikke css - tabeller blev opfundet længe før css kom på banen. Du mangler også TR for at angive række start og slut. <table width="1200px"> <tr> <td width="50px">Idnr</td> <td width="100px">Efternavn</td> <td width="100px">Fornavn</td> <td width="50px">Født dato</td> <td width="300px">Fødested</td> <td width="300px">Sidst kendte adresse</td> <td width="50px">Død dato</td> </tr> </table>
Det forkerte i den moderne standard er at bruge HTML-egenskaben "width", altså <td width="1000"> - den rigtige måde er med CSS, f.eks. inline som i <td style="width: 1000px;"> Det er der til gengæld intet galt i.
Det bliver på ingen måde mere standardiseret at bruge colspan. Ud over at det altså ikke gør hvad du vil have og slet ikke har noget med fast størrelsen at gøre, så er det ikke mere "korrekt".
Det kan også være, du har hørt, det er forkert at bruge tables i moderne HTML. Det gør du naturligvis alligevel, selvom du bruger colspan - men det er også en misforståelse. Tables er skidt til design, men de er ganske fine at bruge til tabuleret data - som de altid har været beregnet til.
@Claes: Bare lige to småting; width property'et er forældet og understøttes slet ikke i HTML5, så det er bedst at bruge inline CSS. Men hvis man insisterer på at bruge det, så skal der ikke stå "px" efter - det er en CSS-ting.
Det her er f..... ikke for hvide mennesker :-) Nå men jeg fortsætter. Nu mangler jeg så bare at vide HVAD og HVORDAN der er den korrekte måde at kode det her på efter sidste vedtagne standard? Jeg mener, der er jo ingen grund til at jeg lære det her på den forkerte måde, vel? Fakta er, at når jeg har en kode som denne: <td width="100px"> - så siger Html validator i Firefox( som jeg forresten fik anbefalet her på side, som en hjælp) at der er forbandet mange fel i min kode på den måde. Er der nogen der er forvirret JA.
Når jeg går ind på www.zerious.dk under Slægtsforskning punkt Personopslag, så får jeg at vide af Html Validering at der er over 23824 fejl, der stort set udelukkende opstår ved at bruge <td width="100px"> - og jeg vil jo gerne undgå så mange fejl. Heraf dette spørgsmål.
<td width="100px"> er forkert fordi "px" kun hører til i CSS. I HTML antages alting at være i pixels, med mindre der er procenttegn efter, så det er bare <td width="100">
- Men som sagt, den bedste måde at gøre det på i dag er med CSS, eftersom width egenskaben er udfaset og slet ikke fungerer i HTML 5. Så <td style="width: 100px;">
Ganske vidunderligt :-) Nu er der kun 4 fejl - 4 fejl (hæ-hæ) - forbandet godt. Og de andre fejl kan jeg se hvad handler om, dem får jeg rettet, ingen problemer i det. viperine: tusind tak for hjælpen og smid venligst et svar
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.