Oprettet tor. d. 18. december 2008 kl. 18:34:47

du3n
du3n (12.675 point. Point ude: 300)

Fjerne mellemrum under img i XHTML/CSS

Hej eksperter,

Jeg ved ikke om det her det rette forum at skrive i, men jeg er støt på et problem under udviklingen af en ny side. Jeg er for nyeligt kastet mig ud i XHTML og er derfor ikke helt forvant til alle de faste regler der gælder.
Mit problem er at når jeg lægger min kode ind i en XML fil kommer der mellemrum imellem mine billeder, som det ses her:

http://www.estadio.dk/ (...)

Når jeg laver det om til en HTML-fil og fjerner den indledende XML inde i filen, forsvinder mellemrummene som der er mellem billederne. Dvs. problemmet opstår ikke i simpel HTML, men hvad skal jeg gøre nu hvor jeg gerne vil kode i XHTML/CSS?

Skrevet tor. d. 18. december 2008 kl. 18:43:39| #1

mireigi
mireigi (17.242 point)
Du har en del fejl af typen:
<img style="margin:0px;border=0"...

Flyt "border=0" ud som en property, eller omskriv den til "border:none;" i style-property'en

Du kan også prøve følgende:
<table style="margin:0px;" cellspacing="0" cellpadding="0" border="0">
  <tr>
    <td style="padding:0px;">
      <img style="margin:0px; border:none; padding:0px;" src=".." alt="" />
    </td>
    <td style="padding:0px;">
      <img style="margin:0px; border:none; padding:0px;" src=".." alt="" />
    </td>
    ...
    ...
  </tr>
</table>

Skrevet tor. d. 18. december 2008 kl. 19:00:54| #2

du3n
du3n (12.675 point)
Hmm har rettet mine fejl med border i img og prøvet dit andet forslag, men der er stadig mellemrum under billederne...

Skrevet tor. d. 18. december 2008 kl. 20:02:29| #3

micc
micc (7.860 point)
Jeg tror dit problem kommer af at billeder vises (eller i hvert fald bør vises) som inline-level elementer under xhtml-strict. Hvis det er tilfældet så kan du komme af med mellemrummet ved at bruge:

img

Skrevet tor. d. 18. december 2008 kl. 20:04:02| #4

micc
micc (7.860 point)
Det blev sendt af sted lidt for tidligt ved et uheld. :) Jeg prøver igen:

Jeg tror dit problem kommer af at billeder vises (eller i hvert fald bør vises) som inline-level elementer under xhtml-strict. Hvis det er tilfældet så kan du komme af med mellemrummet ved at bruge:

img {
display: block;
}

i din css.

Skrevet søn. d. 21. december 2008 kl. 00:23:30| #5

du3n
du3n (12.675 point)
Cool, nu forsvandt mellemrummet under img, men nu laver den automatisk linjeskift efter hver billed, er det noget der kan undgåes? Eller må jeg billederne ind i en tabel på at få dem på linje?

Skrevet søn. d. 21. december 2008 kl. 00:27:13| #6

du3n
du3n (12.675 point)
Lige meget hvad kan du da lige smide et svar, du har jo om ikke andet svaret på det jeg spurgte efter.

Skrevet søn. d. 21. december 2008 kl. 01:01:23| #7

mireigi
mireigi (17.242 point)
Prøv med "display: inline-block;"

Skrevet søn. d. 21. december 2008 kl. 10:36:29| #8

du3n
du3n (12.675 point)
inline-block fjerner linje skiftet mellem billederne, men fjerne ikke mellemrummet under billedet.

Skrevet søn. d. 21. december 2008 kl. 12:11:06| #9

mireigi
mireigi (17.242 point)
så må det her vel virke:
display: block;
float:right;

Skrevet søn. d. 21. december 2008 kl. 22:00:22| #10

micc
micc (7.860 point)
Float lyder helt klart som en bedre løsning end tabeldesign. Så behøver du imidlertid ikke bruge
  display: block;
da en float-værdi forskellige fra 'none' tvinger elementet til at være block-level uanset display-værdi.

Og hvis den boks hvori de floatede img elementer er ikke har yderligere indhold så kan du tilføje noget i retning af
  <div style="clear:both;"></div>
i slutningen af boksens indhold hvis du vil have den til at udvide sig til at indeholde de floatede elementer. :)

Skrevet man. d. 22. december 2008 kl. 21:10:33| #11

du3n
du3n (12.675 point)
Mange tak, det fungeret perfekt.

God jul :D

Skrevet søn. d. 04. januar 2009 kl. 21:11:25| #12

olebole
olebole (214.613 point)
<ole>

Dette vil altid give et mellemrum under billedet i IE (HTML eller XHTML er ligemeget):

    <td style="padding:0px;">
      <img style="margin:0px; border:none; padding:0px;" src=".." alt="" />
    </td>

Det gør denne syntaks derimod ikke:

    <td style="padding:0px;">
      <img style="margin:0px; border:none; padding:0px;" src=".." alt="" /></td>

Derudover skal det lige nævnes, at XHTML er elendigt understøttet på WWW - og slet ikke i IE7 (og formodentlig heller ikke i den kommende IE8)

/mvh
</bole>

Skriv et indlæg




Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] [img]link til billede[/img]
Web- og emailadresser omdannes automatisk til links

Log ind

   

   

Seneste spørgsmål

Hjemmeside baseret på XML i asp.net

Oprettet den 25. maj 2012 kl. 21.43
micker giver 60 point for svar | Giv et svar »

WSDL til DMR(skat) lave tilgang fra php.

Oprettet den 3. april 2012 kl. 13.49
Felix_2000 giver 100 point for svar | Giv et svar »

Hent tag name i XML via ASP

Oprettet den 20. marts 2012 kl. 11.55
superior giver 120 point for svar | Giv et svar »



   




Tips & Tricks fra PC World

Teaser billede

Læserne: Her er vores værste it-indkøb

Det er ikke al it-udstyr, som er det rene guld. Her er nogle af læsernes skrækhistorier.


Anmeldelser fra PC World

Teaser billede

Test: Mobil med Ferrari-design - og en Trabant-motor

Motorola har begået endnu en smartphone med lækkert design og potentiale til at være blandt de bedste. Men den når ikke i mål. Se her hvorfor.


Seneste blogindlæg

Teaser billede

Tvangslukke spørgsmål: Hvad er den bedste løsning?

Hej Vi har mange åbne spørgsmål på Eksperten. Vi ville gerne tvangslukke dem - så et spørgsmål efter f.eks. 6 måneder lukkes. Men der er et par uklarheder som ville være gode at få lidt input til:...


Nyheder fra PC World

Teaser billede

Sådan siger du farvel til Facebook

Læs her, hvordan du dropper Facebook og i stedet anvender nogle brugervenlige alternativer, så du stadig kan være social på nettet.


Nyheder fra Computerworld

Teaser billede

Galleri: De fedeste håndholdte gennem 40 år

Her har du de mest banebrydende håndholdte computere gennem alle tider.


Kurser
Samarbejdspartnere

Udgiver · © 2012 IDG Danmark A/S · Hørkær 18 · 2730 Herlev · Tlf.: 77 300 300 · Fax: 77 300 301 · Brug af personoplysninger