Avatar billede Slettet bruger
06. november 2005 - 23:32 Der er 24 kommentarer og
1 løsning

iframe ikke lige bred i IE og FireFox?

Hej!

Hvordan kan jeg få nedenstående iframe til at være lige bred i IE og Firefox? Som det er nu er vinduet i IE 2 pixel bredere end i Fx.

Desuden ser det ud til at de 255 pixel i Fx er målt indeni. I IE passer målene slet ikke. Der er den for bred.

Nogen der kan hjælpe?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
        "http://www.w3.org/TR/REC-html40/strict.dtd">

<html>
<head>
    <title>Untitled</title>
</head>

<body>


<iframe id="ifr_sider" name="ifr_sider" src="navigation.php" frameborder="0" style="width:255px;border:1px solid #879293;border-top:0px;margin:0"></iframe>


</body>
</html>
Avatar billede Slettet bruger
06. november 2005 - 23:34 #1
Et dump af frames i hhv IE og Fx (lavet i PhotoShop) kan ses på www.cm3.dk/iframe.png
Avatar billede milandt Nybegynder
07. november 2005 - 00:30 #2
det er korrekt at hvis du angiver en bredde på 255px og en border på 1px på et element, så bliver det i alt 257px bredt.

ref: http://www.w3.org/TR/REC-CSS2/box.html#box-dimensions
Avatar billede Slettet bruger
07. november 2005 - 06:28 #3
Fair nok, så opfører FireFox sig som den skal. Men hvad med IE?
Avatar billede Slettet bruger
07. november 2005 - 11:47 #4
IE definerer ikke margin og padding på den korrekte måde iflg. W3C.

Er frameborder det samme som border???

Prøv at lege med disses varianter, til det passer sammen:
1: Definer alle margin og padding til 0px under din style.
2: Prøv frameborder="no" istedet for frameborder="0"
3: Du skriver: border:1px solid #879293;border-top:0px  Men det er noget rod. Prøv at angive: "border-top:0px; border-bottom:0px; border-left: 0px; border-right: 0px;" osv.
Avatar billede Slettet bruger
07. november 2005 - 12:06 #5
Tak for buddene, jeg leger lige videre. Men border:1px solid #879293;border-top:0px  er nu korrekt nok. Og er som sådan ikke det der giver problemer.
Avatar billede Slettet bruger
07. november 2005 - 12:23 #6
Det her virker. Næsten :)

Eneste problem nu er at i FireFox at der i bunden af iframen nu er et mellemrum ned til den røde <div>

<div style="width:255px;background:green">
<iframe id="ifr_sider" name="ifr_sider" src="navigation.php" frameborder="no" style="margin:0;padding:0;border:1px solid blue;width:100%"></iframe></div>
<div style="width:257px;background:red">her tester vi lige bredden</div>
Avatar billede Slettet bruger
07. november 2005 - 12:41 #7
Ok, så langt så godt.  :-)

Ja, hvis "border:1px solid #879293;border-top:0px " virker fint nok, er der jo ingen grund til at rode mere med den! :-)

Prøv at lægge det hele ind i en span istedet for en div. Så burde den være der, tror jeg! Span og div er nemlig NÆSTEN ens.  ;-)
Avatar billede Slettet bruger
07. november 2005 - 12:44 #8
Jo det kan jeg godt, men forstår bare ikke hvorfor et block-element skulle give margin eller padding nedenunder, det giver i mit hovede ingen mening :)
Avatar billede Slettet bruger
07. november 2005 - 12:46 #9
Det hjælper ikke at ændre det til <span>. For det første bliver dette span hele sidens bredde, og for det andet fjerner det ikke mellemrummet :/
Avatar billede Slettet bruger
07. november 2005 - 12:47 #10
Næ, men sådan virker div, til forskel fra span.  :-/
Faktisk lidt ligesom en form - den opfører sig nemlig på samme måde.
Avatar billede Slettet bruger
07. november 2005 - 12:47 #11
I hvilken browser?
Avatar billede Slettet bruger
07. november 2005 - 12:48 #12
FireFox
Avatar billede Slettet bruger
07. november 2005 - 12:50 #13
...det lyder lidt mystisk...
Prøv at chekke tags for en iframe her: http://www.w3schools.com/tags/tag_iframe.asp
Avatar billede Slettet bruger
07. november 2005 - 12:51 #14
dobbeltchekker du hele tiden med FF kontra IE? Og evt. Opera?
Avatar billede Slettet bruger
07. november 2005 - 12:53 #15
Prøv evt. også at lave din DOC-type om, og husk at tilføre et dansk tegnsæt.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>http://exp.dk/spm/662327</title>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
Avatar billede Slettet bruger
07. november 2005 - 12:56 #16
Jeg vil ikke køre med loose DTD.
Avatar billede Slettet bruger
07. november 2005 - 13:03 #17
Ok. Men du kan bruge den til at teste, om problemet skulle ligge der...

Fik du chekket http://www.w3schools.com/tags/tag_iframe.asp ?
Avatar billede Slettet bruger
07. november 2005 - 13:04 #18
Ja, intet at finde der :)
Avatar billede Slettet bruger
07. november 2005 - 13:13 #19
Nå, det var åbenbart line-height der var problemet:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"
        "http://www.w3.org/TR/REC-html40/strict.dtd">

<html>
<head>
    <title>Untitled</title>
</head>

<body>

<div style="line-height: 0px;width:253px;background:green"><iframe id="ifr_sider" name="ifr_sider" src="navigation.php" frameborder="no" style="margin:0;padding:0;border:1px solid #879293;border-top:0px;width:100%"></iframe></div>

<div style="width:255px;background:red">her tester vi lige bredden</div>


</body>
</html>
Avatar billede Slettet bruger
07. november 2005 - 16:25 #20
Ja, jeg havde godt på fornemmelsen, at problemet lå et helt andet sted... ellers ville den jo ikke opføre sig på den måde. Ihvertfald ikke efter den gennemgang, så vi har lavet. :-)
Avatar billede knudgert Nybegynder
07. november 2005 - 20:00 #21
Hmm - du vil ikke lave doctype om?

Ja, men så kan du jo ikke bruge iframe, det er ikke tilladt i strict html.
Avatar billede olebole Juniormester
07. november 2005 - 21:08 #22
- og udover knudgerts yderst relevante kommentar, har line-height ikke intet at sige. I eksemplet (07/11-2005 12:23:07) kan jeg heller ikke genskabe et mellemrum ned til den røde div  :)
Avatar billede Slettet bruger
08. november 2005 - 06:49 #23
Fair nok :)

Jeg bruger <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> i stedet.

Jeg kan fint genskabe problemet med line-height (jeg fjerner bare line-height: 0px; så er fejlen der i FireFox 1.5)
Avatar billede Slettet bruger
08. november 2005 - 09:17 #24
Tak for input!
Avatar billede knudgert Nybegynder
08. november 2005 - 19:17 #25
Det er heller ikke den korrekte doctype, den bruges til decideret framesets, men ikke til sider som indeholder en <iframe>.
Den rigtige er den Extebd skrev, du bør bruge.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
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