Avatar billede rippie Nybegynder
18. september 2004 - 22:47 Der er 13 kommentarer og
1 løsning

Tables og border . hvor og hvordan ?

Hey folkens. ja så har jeg lige et spørgsmål til jer. for nu vil jeg vide besked. Det drejer sig om tabeller og tabeller inden i en tabel osv. og deres bordes. Ud fra hvad en ven har sagt skulle borders gå udaf.

Jeg vil lige vise en tabel her uden nogen form for borders som er 400 pixels bred.

<table border="0" width="400" cellspacing="0" cellpadding="0">

<tr>
<td widht="200">&nbsp;</td>
<td width="200">&nbsp;</td>
</tr>

</table>

Hvis jeg så i den ene TD laver en style="border: 1px solid #000000" hvad sker der så ? altså ud over at den får en border på ? men hvis den får 1px ud på hver side, så kan den anden TD jo ikke være 200px eller hvad ?

eller lad os sige at jeg vil have en tabel mere inde i den ene TD hvis jeg så giver den tabel inden i den ene td en border på 1px og tabellen f.eks er 200px bred ? bliver den TD som jeg så smed min tabel ind i udvidet ?

Hovedspørgsmålet er, hvor fanden tager den border den pixels fra ? for nu har jeg bygget et site op www.lanworld.dk og hvis man kigger ude i toppen ved menuen er der en højde forskel, og den kan jeg bare ikke få væk så håber nogen kan hjælpe mig....
Avatar billede roenving Novice
18. september 2004 - 23:07 #1
Ifølge css-standardens såkaldte box-model skal en border (og alle andre størrelser, som ikke er indholdets definerede størrelse !-) ligge udenpå, men hvis du skriver html 3.2-agtigt vil jeg tro, at browseren vælger hvad den synes er hensigtsmæssigt !-)

Hvis du nu:

1) Sætter en fuldt kvalificeret doctype incl. dtd-link på, kan du (næsten !-) få IE til at overholde standarderne ...

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">

-- og hvis bare du efterlader een tom linje, som du har nu, vil IE skide på dine styles, hvis den programmør i Bombay, som lavede den del af kernen for 10 år siden, synes han er klogere, så ingen tomme linjer i toppen !-)

2) Og sæt også dine størrelser på tabeller i style-sheet:

.tabel400{
  width:400px;
  border-collapse:collapse;
}
.tabel400 td{
  border:0px;
  width:200px;
}

<table class="tabel400">
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
</table>

-- du skal så være opmærksom på, at tabeller er skabt til at vise det, du kommer ind i dem, så en defineret bredde (uanset om den ligger i stylesheet eller ej !-) vil normalt blive fortolket som et minimumsmål !-)
Avatar billede rippie Nybegynder
18. september 2004 - 23:11 #2
ja ja men du svare jo ikke på hvad jeg spørg om...

Går en border indad eller udad ??

går den udaf... så vil det blive noget juks uanset hvordan du vender og drejer det, pånær hvis du lige tager og tager højre for det, men så får du tusinde tabeller og TD med underlige mål hehe
Avatar billede rippie Nybegynder
18. september 2004 - 23:12 #3
en hel anden ting.. hvad gør den border-collapse godt for ? har tit tænkt over det.
Avatar billede rippie Nybegynder
18. september 2004 - 23:24 #4
så har jeg altså ret i at border går udaf ? jamen hvad så hvis jeg bruger det eksempel her fra før, men giver hver td en bredde på 200px samt border 1.


<table border="0" width="400" cellspacing="0" cellpadding="0">
<tr>
<td widht="200" style="border:1px solid #000000">&nbsp;</td>
<td width="200" style="border:1px solid #000000">&nbsp;</td>
</tr>
</table>

ændre det eksempel på tabellens Bredde ? for hvis hver TD nu er 200px og har altså lige fået 1px på i border i hver side... så vil det til sammen give at de er 202px hver ? og dvs at de to TD til sammen bliver 404pixels. og så er tabellen jo ikke 400 pixels mere som den er sat til.. eller hvad ?
Avatar billede roenving Novice
18. september 2004 - 23:31 #5
Jo, jeg svarer meget præcist på det:

Dit gæt er lige så godt som mit, for det er afhængig af, hvilke regler en-eller-anden programmør i Bombay syntes så rigtigt ud, da han programmerede kernen i IE !-)

-- og det ser ud til at IE forsøger at gøre som den ellers gør, når den skal fortolke bredder: bruger det som et ydre mål ...

-- og du kan jo prøve med denne, og så bagefter fjerne det mellemrum midt i linjerne ...

<table border="1" width="400" cellspacing="0" cellpadding="0">
  <tr>
    <td width="200">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
    <td width="200">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
  </tr>
</table>

(Du kan nok ikke se det hele, men hvis du kopierer får du det hele med !-)

-- border-collapse er nødvendigt at bruge i css, da du ellers risikerer at borders placeres som uafhængige ting ved siden af hinanden, så du får et balanceproblem, fordi indre borders vil være dobbelt så brede som ydre !o]
Avatar billede rippie Nybegynder
18. september 2004 - 23:54 #6
Det giver ingen mening.. hehe forstod ikke hvad du lige ville med den der... jeg taler jo om hvis man vil have en tabel med border inden i en anden tabel uden border... bliver den tabel man så har den anden i udvidet ?
Avatar billede roenving Novice
18. september 2004 - 23:57 #7
Ja, hvis du kommer noget inde i en tabel, som er bredere end den bredde, du har defineret for tabellen (og/eller tabellens celler !-), vil den blive udvidet af indholdet !o]
Avatar billede rippie Nybegynder
19. september 2004 - 00:04 #8
så hvis jeg har en tabel der er 100px og smider en tabel ind i den der også er 100px men den får også lige en border:1px. vil den så ikke udvide den første ?
Avatar billede roenving Novice
19. september 2004 - 00:07 #9
Jo !-)

<table border="1" width="400" cellspacing="0" cellpadding="0">
  <tr>
    <td width="200">
<table border="1" width="400" cellspacing="0" cellpadding="0">
  <tr>
    <td width="200">&nbsp;</td></tr></table>
   
   
    </td>
    <td width="200">&nbsp;</td>
  </tr>
</table>
Avatar billede rippie Nybegynder
19. september 2004 - 00:12 #10
hvad er der med dig ? jeg siger ingen border i den første og du laver med border *ggg*
Avatar billede roenving Novice
19. september 2004 - 00:17 #11
Hvordan vil du en størrelse, hvis der ikke er noget til at vise grænsen ?-)

-- men du kan jo også sætte en baggrund på, f.eks. en gradient på 10 pixel eller et andet lige tal, så du kan se hvordan der skubbes !-)
Avatar billede rippie Nybegynder
19. september 2004 - 00:21 #12
det er noget rod syntes jeg.. og egentlig en ret vigtig ting at tage højde for. nu byger jeg selv síder som er opbygget en tabels og alt det... og jeg har da lært at man skal bygge det bare nogenlunde op *GG*
Avatar billede roenving Novice
19. september 2004 - 00:23 #13
Hvis du vil gennemtvinge en tabelcelles størrelse, kan det _kun_ laves ved at fylde et element indeni, som du kan begrænse, f.eks. en div med fast bredde og overflow:hidden; !-)
Avatar billede rippie Nybegynder
15. marts 2005 - 16:53 #14
lukker det da ingen svare
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