Avatar billede sholm Nybegynder
02. september 2005 - 16:53 Der er 16 kommentarer og
1 løsning

Border forskel i IE og FF?

Hejsa,

Jeg har erfaret at Internet Explorer og FireFox ikke er helt ens mht. hvordan de håndterer borders på divs. Hvis man laver en div med en width på 100px og sætter en border på en 1px i hver side så er div'en stadig 100px i FireFox men 102px i Internet Explorer. Jeg har ledt efter en attribut til at kunne styre om borders skal være inden i div'en eller udenpå div'en. Men har ikke kunnet finde noget...

Nogen der ved om en sådan attribut findes eller om jeg skal ud i noget helt andet?
Avatar billede softspot Forsker
02. september 2005 - 16:57 #1
Det skulle gerne løse sig med denne DOCTYPE

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede Slettet bruger
02. september 2005 - 17:15 #2
Jeg tror ikke der er nogen løsning på problemet... Jeg har også selv haft dét problem.
Avatar billede sholm Nybegynder
02. september 2005 - 17:17 #3
Det ændrede ikke noget desværre.
Avatar billede softspot Forsker
02. september 2005 - 17:24 #4
Såvidt jeg har forstået er det fordi IE ikke går i standardsmode som udgangspunkt og at IE's opfattelse af hvordan padding, border og margin fortolkes er anderledes en den standard som W3C har opsat for dette.

DOCTYPE'en burde løse problemet, men jeg er ikke ekspert på dette område, så måske du er heldig hvis roenving eller olebole kommer forbi, så de kan give en forklaring på hvordan du løser dette problem... :)
Avatar billede softspot Forsker
02. september 2005 - 17:25 #5
Nu har du vel indsat DOCTYPE-linie som det allerførste i din HTML-side, ikk'?
Avatar billede Slettet bruger
02. september 2005 - 17:25 #6
Hverken loose eller strict doctypen virker på det her problemet i hvert fald ;o)
Avatar billede sholm Nybegynder
02. september 2005 - 17:27 #7
Doctypen står som linje 2 lige efter min <%@ Page language="c#" Codebehi...%> linje.
Avatar billede softspot Forsker
02. september 2005 - 17:32 #8
Det burde være ok, bare der ikke står noget tekst, html eller lign. i det resulterende HTML (altså der du kan se i view source i browseren).
Avatar billede softspot Forsker
02. september 2005 - 17:35 #9
Spøjst! hvis jeg har en side med denne kode:

<!-- kjhdfk hdsfkj f -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Test boxmodel</title>
    <style type="text/css">
        .box1 { width:200px; border:solid 1px black; }
    </style>
</head>
<body>

    <div class="box1" id="boxen">&nbsp;</div>

    <a href="#" onclick="alert(document.getElementById('boxen').offsetWidth); return false;">Box Size</a>
</body>
</html>


melder IE at den er 200 bred og FF at den er 202 bred. Hvis jeg derimod benytter denne kode:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <title>Test boxmodel</title>
    <style type="text/css">
        .box1 { width:200px; border:solid 1px black; }
    </style>
</head>
<body>

    <div class="box1" id="boxen">&nbsp;</div>

    <a href="#" onclick="alert(document.getElementById('boxen').offsetWidth); return false;">Box Size</a>
</body>
</html>

melder begge browsere at rammen er 202 bred, så wicez, jeg erklærer mig uenig i dit udsagn ;)
Avatar billede softspot Forsker
02. september 2005 - 17:38 #10
Det er måske værd at bemærke at URL'en i DOCTYPE er VIGTIG(!) for at IE går i standardsmode...
Avatar billede sholm Nybegynder
02. september 2005 - 17:40 #11
Jeg må give dig ret softspot, mange tak for hjælpen smid et svar og du skal så point. Mange tak for hjælpen :)
Avatar billede softspot Forsker
02. september 2005 - 17:40 #12
...det hedder vist endda standards compliant mode :)
Avatar billede softspot Forsker
02. september 2005 - 17:40 #13
Det var så lidt :)
Avatar billede softspot Forsker
02. september 2005 - 17:47 #14
Tak for point :)
Avatar billede roenving Novice
02. september 2005 - 23:17 #15
-- og et simpelt check på om browseren virkelig benytter sig af standards mode er f.eks. i adresselinjen at skrive:

java script:alert(document.compatMode)

(IE)
-- hvis den returnerer BackCompat, som f.eks. denne side gør, ved du, at den skrevne html-kode ikke får browseren til at fortolke css korrekt ...

-- hvis den derimod svarer CSS1Compat, benytter den i så høj grad, som den nu er i stand til, den fortolkning af css, som er fastlagt i w3cs rekommendationer !-)
Avatar billede olebole Juniormester
02. september 2005 - 23:57 #16
<ole>

- og lidt dokumentation:
  http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/cssenhancements.asp

- under "The Doctype Switch"

/mvh
</bole>
Avatar billede Slettet bruger
03. september 2005 - 10:26 #17
Så må jeg hellere lige smide en undskyldning for min forhastede konklusion.
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