Avatar billede sbm Nybegynder
06. januar 2004 - 13:36 Der er 18 kommentarer og
2 løsninger

Gøre udgangspunkt ens i alle browsere

Når man ser en webside i forskellige browsere, vises siden som regel forskelligt. De har forskellig top- og left-margin. MSIE kan godt sætte 100% height på body, men det vil Mozilla ikke osv osv osv...

Nu har jeg følgende, som er et forsøg på at gøre udgangspunktet ens i både MSIE 5.5 og opefter, Opera samt Mozilla.
------------------------------------------------------

<html>
<head>
<style type="text/css">
html {        margin    : 0px;
            border    : solid green 3px;
}
body {        margin    : 0px;
            padding    : 0px;
            height    : 100%;
            border    : solid red 3px;
}
</style>
</head>
<body>
<table width="100%" border="1">
    <tr>
        <td width="100%" valign="top">
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla  bla bla bla bla bla bla bla bla bla bla
        </td>
    </tr>
</table>
</body>
</html>

------------------------------------------------------

Koden har nogle enkelte forskelle.

1) I MSIE ligger HTML og BODY margin oven i hinanden. Dette er ikke noget problem, da de jo bare kan sættes til 0px, og så vil der ingen forskel være.

2) Mozilla nøjes ikke med at sætte felterne til 100%, men lægger margin oven i de 100%, så dokumentet fylder f.eks. 102%, hvilket gør at der kommer en scrollbar. Igen kan dette løses når man sætter HTML og BODY margin ned til 0px.

3) Den sidste og værste: Opera sætter luft ind i bunden af både HTML og BODY, så de ikke ligger helt sammen, og dokumentets indhold ikke kan nå helt ned til bunden af browseren.

Eventuelle løsninger til 1) og 2) er velkomne, men ikke vigtige. De 60 point er for en løsning til 3) og så smider jeg gerne særskilt point efter løsninger til 1) og 2)
Avatar billede exp Juniormester
06. januar 2004 - 13:43 #1
ad 1) & 2)
Det har noget at gøre med, hvordan de to browsere fortolker box-modellen
Læs om problemet her: www.webdesign101.dk/xhtml/css/hacks/index.php

Fjerner du borderen, vil de to dække samme område:
html, body {
  padding: 0px;
  margin: 0px;
  height: 100%;
  width: 100%;
}
Avatar billede lordhead Nybegynder
06. januar 2004 - 13:45 #2
hvad med

html>body {
height:100%;
}

...angående 3'eren
Avatar billede sbm Nybegynder
06. januar 2004 - 13:54 #3
lordhead >> Den notationsform er jeg ikke bekendt med? Hvad skal det gøre?

Hvis jeg bare indsætter det istedet for body, ændrer det ikke noget. Hvis jeg fjerner HTML så html>body er den eneste blok, ser det fint ud i Opera, men så er der de normale margin på html i f.eks. MSIE.
Avatar billede sbm Nybegynder
06. januar 2004 - 14:02 #4
Problematikken med Opera strækker sig ikke kun til bottom-margin på HTML og BODY, men også på TABLE. Jeg har rettet koden til følgende:

---------------------------------------------
<html>
<head>
<style type="text/css">
body {        margin    : 0px;
            padding    : 0px;
            height    : 100%;
            border    : solid red 5px;
}
html {        margin    : 0px;
            border    : solid green 5px;
}

</style>
</head>
<body>
<table width="100%" border="1" height="100%">
    <tr height="95%">
        <td width="100%" valign="top">
Bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla
        </td>
    </tr>
    <tr height="5%">
        <td valign="bottom">Testing</td>
    </tr>
</table>
</body>
</html>

-----------------------------------------------

Der kommer også luft under TABLE, men det gør der ikke i de to andre browsere...? :-/
Avatar billede sbm Nybegynder
06. januar 2004 - 14:05 #5
Interessant. Jeg havde ikke spekuleret på at problem 3) først blev introduceret, når der kom solid margin på body og html. Når de sættes til 0 forsvinder problem 3 også.

Ok. Jamen, så er der jo egentlig ikke noget problem. :-)
Avatar billede sbm Nybegynder
06. januar 2004 - 14:13 #6
Med mindre der er invendinger, vil jeg lukke spørgsmålet....
Avatar billede lordhead Nybegynder
06. januar 2004 - 14:14 #7
Hmm... Jeg plejer bare altid at sætte body, html og html>body, det skulle da hjælpe? Nå men det er da dejligt hvis du har løst problemet ;)
Avatar billede exp Juniormester
06. januar 2004 - 14:39 #8
Jamen er der noget af det vi skriver der har hjulpet dig?
Avatar billede sbm Nybegynder
06. januar 2004 - 14:45 #9
Næ. Du foreslår at sætte margin og padding til 0 for at løse 1 og 2, men det skrev jeg jo i spørgsmålet at jeg godt var klar over, og at det derfor ikke var vigtigt. Jeg ville bare gerne vide om det KUNNE løses.

Lordheads forslag gjorde heller ikke nogen forskel.

Jeg har bare konkluderet at man ikke skal sætte solid border på HTML og BODY, så kan man sagtens gøre udgangspunktet ens for alle tre browsere.

Men jeg giver da gerne point for indsatsen?
Avatar billede exp Juniormester
06. januar 2004 - 15:14 #10
... som jeg også skrev...:
"Det har noget at gøre med, hvordan de to browsere fortolker box-modellen
Læs om problemet her: www.webdesign101.dk/xhtml/css/hacks/index.php

Fjerner du borderen, vil de to dække samme område"
Avatar billede lordhead Nybegynder
06. januar 2004 - 15:21 #11
Vi skal da ikek have points, hvis du ikke kunne bruge vores hjælp?
Avatar billede sbm Nybegynder
06. januar 2004 - 15:33 #12
Som jeg skrev, så ville jeg lukke med mindre der var indvendinger... :-)
Avatar billede sbm Nybegynder
06. januar 2004 - 15:36 #13
Hov. Så ikke lige din 15:14:14 besvarelse.

Korrekt. Det er den samme konklusion som jeg selv kom til: Altså at sætte border til 0px, men du har da kastet lys over hvorfor de viser det forskelligt...

Smid et svar hvis du vil. Jeg er selv ret ligeglad med point. Jeg prøver bare at være lidt OBS på ikke bare at forære dem væk, for så vil der med ca. 101% sikkerhed komme en stribe eksperten-brugere løbende med en masse grimme ord, fordi de ikke er ligeglade med pointene.
Avatar billede exp Juniormester
06. januar 2004 - 17:19 #14
stik mig halvdelen :-)

(skal jo også have sikret mig februars PRO ;-)
Avatar billede lordhead Nybegynder
06. januar 2004 - 17:48 #15
(Hmm.. Hvd mener du med 'sikret'?) :-)
Avatar billede sbm Nybegynder
06. januar 2004 - 18:31 #16
lukketid
Avatar billede exp Juniormester
06. januar 2004 - 19:24 #17
lordhead >>
sikret:
www.exp.dk/enyt.phtml?id=114
Avatar billede lordhead Nybegynder
06. januar 2004 - 21:22 #18
Exp> Fedt... så hvis jeg sådan ca. får over 800 points i januar måned, får jeg gratis PRO medlemskab i februar?
Avatar billede exp Juniormester
06. januar 2004 - 21:43 #19
Det er KO-rekt...!
Avatar billede lordhead Nybegynder
07. januar 2004 - 14:10 #20
Fedt... Så kan det være jeg skal hamstre nogle flere points ;-)
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