Avatar billede ej147 Nybegynder
10. oktober 2014 - 19:57 Der 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?
Avatar billede Slater Ekspert
10. oktober 2014 - 20:31 #1
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.
Avatar billede ej147 Nybegynder
10. oktober 2014 - 20:47 #2
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.
Avatar billede claes57 Ekspert
10. oktober 2014 - 20:51 #3
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>
Avatar billede claes57 Ekspert
10. oktober 2014 - 20:53 #4
hvis du vil lave det med css, så er det Div og Span - men i det aktuelle tilfælde er en tabel hurtigere.
Avatar billede Slater Ekspert
10. oktober 2014 - 20:53 #5
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.
Avatar billede Slater Ekspert
10. oktober 2014 - 20:55 #6
@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.
Avatar billede ej147 Nybegynder
10. oktober 2014 - 21:10 #7
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.
Avatar billede ej147 Nybegynder
10. oktober 2014 - 21:19 #8
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.
Avatar billede Slater Ekspert
10. oktober 2014 - 21:21 #9
<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;">
Avatar billede ej147 Nybegynder
10. oktober 2014 - 21:34 #10
Godt - er det den korrekte måde at gøre det på, så bliver det sådan.

Skal lige have spist færdigt, så ændrer jeg det og ser om det hjælper på antal fejl - vender tilbage.
Avatar billede ej147 Nybegynder
10. oktober 2014 - 21:55 #11
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
Avatar billede Slater Ekspert
11. oktober 2014 - 09:20 #12
Så gerne.
Avatar billede ej147 Nybegynder
11. oktober 2014 - 09:39 #13
Point hermed afgivet - god weekend :-)
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

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