Avatar billede kreativmedie Nybegynder
06. marts 2005 - 16:59 Der er 11 kommentarer og
1 løsning

<table> i XHTML kontra HTML (Opera + Firefox)

Hej,

Tjek følgende link i Opera eller Firefox:
http://www.kreativmedie.dk/test

Som det ses er der luft mellem de to firkanter, men hvorfor? Hvordan fjerner jeg det? Dokumentet kører XHTML1.1. Problemet opstår ikke i IE og slet ikke i nogen browser hvis jeg sætter DocTypen til traditionel HTML4, kun når den kører XHTML.


Koden til tabellen ser ud som følger:

<table border="0" cellspacing="0" cellpadding="0">
<tr>
    <td><img src="square1.gif" width="50" height="50" alt="" /></td>
</tr>
<tr>
    <td><img src="square2.gif" width="50" height="50" alt="" /></td>
</tr>
</table>
Avatar billede exp Juniormester
06. marts 2005 - 17:58 #1
Prøv evt:
table, tr, td {
    border-collapse: collapse;
    border-spacing: 0px;
}
Avatar billede kreativmedie Nybegynder
06. marts 2005 - 20:50 #2
Desværre ikke.

Har godt prøvet diverse CSS-kommandoer men har ikke fundet noget der fjerner mellemrummet.
Avatar billede roenving Novice
07. marts 2005 - 12:44 #3
-- exps er næsten rigtigt:

Først skal du fjerne al den i xhtml ugyldige html-kode:

<table
<tr>
    <td><img src="square1.gif" style="width:50px;height:50px;" alt="" /></td>
</tr>
<tr>
    <td><img src="square2.gif" style="width:50px;height:50px;" alt="" /></td>
</tr>
</table>

-- dernæst skal du i dit stylesheet indsætte:

table{
  border-collapse:collapse;
}
table td{
  margin:0;
  padding:0;
  border:0;
}

-- og den sidste selector er lidt vel udbygget, men lavet, så du kan se princippet, hvis du skal arbejde med en class eller et id (så du f.eks. udskifter table med .minTabel !-)

-- og så skal du måske være opmærksom på browsernes elendige benyttelse af xhtml (se oleboles artikler !-)
Avatar billede roenving Novice
07. marts 2005 - 12:44 #4
Hov ...

<table> sæ'fø'li' !o]
Avatar billede kreativmedie Nybegynder
07. marts 2005 - 15:38 #5
hmm det løser det desværre stadig ikke :(

Det skulle gerne være lavet som du skriver roenving. Jeg har lagt det op på http://www.kreativmedie.dk/test (tjek evt. source, jeg har lagt CSS'en internt).

Er border, cellspacing, cellpadding, width og height ikke gyldig xhtml? Ved validering fanges de ikke som fejl.

Har godt læst oleboles artikler, de er gode og lærerige!
Avatar billede olebole Juniormester
08. marts 2005 - 12:12 #6
<ole>

Hvorfor så spilde tid på at skrive noget, der performer dårligere end HTML? Ingen på kloden har gavn af den tid, du  bruger på XHTML  ;o)

Problemet, du er løbet ind i, er et gammelt Mozilla-problem - som det kun kan undre dybt, de ikke forlængst har fået løst. Det undrer ligeså meget, som at den er så ekstremt befængt med dumme JavaScript-fejl, som tilfældet er  :o|

Anyway, så løses det ved at gøre dine billeder til block-elementer med 'display:block'.

Moz's problem løses forhåbentlig permanent, når vi går over til ægte XHTML og IMG-tag'et så endelig helt forsvinder  :)

/mvh
</bole>
Avatar billede olebole Juniormester
08. marts 2005 - 12:14 #7
PS: i din nuværende kode kan du prøve at give dine celler 'border:1px solid red'. Så kan du se, det er luft under billederne, der ligner luft mellem cellerne - men som ikke er det  ;o)
Avatar billede kreativmedie Nybegynder
08. marts 2005 - 14:43 #8
Jeg ser din pointe, olebole. Havde også en border="1" på i html'en tidligere hvilket - ligesom css-borderen - viste at der i bunden af hver celle sættes 4-5 pixels "ingenting" ind. Hvad det så skyldes, eller hvordan jeg kommer af med det, har jeg så stadig ikke fundet ud af.

I Opera oplevede jeg at de 4-5 pixels blev reduceret til én enkelt hvis jeg satte font-size: 0; for cellerne. Dette galdt dog ikke i Firefox, det kan vel heller ikke være dette der er den direkte årsag til de overskydende pixels?
Avatar billede kreativmedie Nybegynder
08. marts 2005 - 14:47 #9
Og så var det vist jeg overså dit første indlæg :)

display: block; lader til at løse det. Og ja jeg har godt forstået gennem dine artikler samt en tidligere samtale med dig herinde at man lige så godt kan bruge traditionel HTML :) - måske jeg snart skulle accepetere det!

Anyway, tak for hjælp, så ska jeg bare bruge et par svar ;)
Avatar billede olebole Juniormester
08. marts 2005 - 14:59 #10
Det får du da lige  :)

PS: Du har i øvrigt misforstået mig, hvis du har opfattet det, somom jeg mener, at man 'ligeså godt' kan skrive HTML4.01.

HTML4.01 er _bedre_ end XHTML ... og man bør altid skrive bedst mulig kode  ;o)
Avatar billede kreativmedie Nybegynder
08. marts 2005 - 15:29 #11
hehe godt så, beklager den sløsede formulering ;)
Avatar billede olebole Juniormester
08. marts 2005 - 15:38 #12
*LooL* ... alt forladt  ;D
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