webForumDet fria alternativet

Mycket märkligt fel i IE (html relaterat)

HTML & CSS

7 svar · 360 visningar · startad av maz0

Medlem sedan juni 200424 inlägg
Frågan#1

Jag har alltid haft uppfattningen att webbläsare läser html kod till 100% baserat på taggarna dvs. den struntar fullkomligt i om det är 1 enter slag imellan eller 300 (förutom att filen blir större). Döm till min förvåning när jag fick olika layout efter att ha styckat upp html koden. Jag skulle vilja veta varför detta uppstår och hoppas att någon kan hjälpa mig att förklara.

Sidan med uppdelad kod, observera att bild 1 flyttas ner 1-2px. sidan med enter slag

Sidan där koden inte är uppdelad sidan utan enter slag

Det är ingen skillnad i Firefox.

Allt jag gjort är tryckt enter innan <ul> taggen på bild 1.

Tack på förhand

Medlem sedan nov. 200013 890 inlägg
#2

maz0 skrev:

den struntar fullkomligt i om det är 1 enter slag imellan eller 300

Jo, det stämmer. Däremot gör den skillnad på om du gör noll eller ett/flera mellanslag (eller radbrytningar).

Lägger du två bilder bredvid varandra blir det inte någon mellanrum mellan dom men lägger du ett (eller flera) mellanslag (eller radbrytningar) mellan bild-taggarna så blir det ett mellanrum.

Medlem sedan juni 200424 inlägg
#3

Web-Tor skrev:

maz0 skrev:

den struntar fullkomligt i om det är 1 enter slag imellan eller 300

Jo, det stämmer. Däremot gör den skillnad på om du gör noll eller ett/flera mellanslag (eller radbrytningar).

Lägger du två bilder bredvid varandra blir det inte någon mellanrum mellan dom men lägger du ett (eller flera) mellanslag (eller radbrytningar) mellan bild-taggarna så blir det ett mellanrum.

ok, så om jag lägger in 2 <img> tagar efter varandra (<img> [ENTER] <img>) så kommer den alltså skapa ett mellanrum eller som i detta fall göra en radbrytning på 1-2px.

Men här lägger jag ju ett [ENTER] mellan en bild och en oordnadlista, där blir det en radbrytning per automatik, så det innebär att IE lägger till några extra pixlar när jag trycker [ENTER]?

Medlem sedan nov. 200013 890 inlägg
#4

I din första <div>-tagg har du ett enterslag precis efter </a>. Det gör att det blir ett mellanrum (se bifogad bild).

mellanrum.gif
Medlem sedan juni 200424 inlägg
#5

ok, så om jag har fattat det hela rätt så har [ENTER] slag betydelse i html kod trots allt, iallfall i IE.

Tack för hjälpen Web-Tor

Medlem sedan nov. 200013 890 inlägg
#6

Ja, det har betydelse om du har noll eller ett.
Däremot spelar det inte någon roll om du har ett eller 300. ;)

Ett exempel åskådliggör detta på ett tydligt sätt:

<span>ost</span><span>kaka</span> <!-- Inga radbrytningar = inget mellanrum i ordet -->

<br />

<span>ost</span> <!-- En radbrytning = ett mellanrum i ordet -->
<span>kaka</span>

<br />

<span>ost</span> <!-- Många radbrytningar = fortfarande ett mellanrum i ordet -->

<span>kaka</span>
Medlem sedan juni 200424 inlägg
#7

Är tanken att det skall vara så eller kan man säga att IE har en bugg?

Varför jag undra är för att Firefox inte

Medlem sedan aug. 20039 340 inlägg
#8

Det är väl bara olika tolkningssätt av html. Vill du ha det tajt, lägg inget mellan, vill du excplicit ha ett mellanrum, lägg in & x nbsp; (Ta bort x och mellanslagen.)
För övrigt, att det skiljer på två pixlar, det beror nog på att det extra mellanslaget får cellen att växa lite på höjden.

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)