webForumDet fria alternativet

Vad är egentligen fel?

HTML & CSS

10 svar · 337 visningar · startad av Cheguelin

Medlem sedan juli 2003303 inlägg
Frågan#1

Jag medger att det kan vara min hjärna som inte funkar. Jag har stirrat på den här koden i en kvart nu och kommer ingen vart. Jag har jämfört med kod på andra sidor men fattar inte vad som är fel. Varför centreras inte sidan?

html

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml1" xml:lang="en" lang="en">
  <head>
    <title>Position</title>
    <link href="default.css" rel="stylesheet" type="text/css"/>
  </head>
  <body>
    <div id="wrapper">
      <div id="left-column">Left column</div>
      <div id="middle-column">Middle column</div>
      <div id="right-column">Right column</div>
    </div>
  </body>
</html>

css

body {
    margin: 0;
}

div#wrapper {
    background: #ddd;
    margin: 0 auto;
    position: relative;
    width: 75%;
}

div#left-column {
    background: #ddd;
    left: 0;
    position: absolute;
    top: 0;
    width: 20%;
}

div#middle-column {
    background: #eee;
    margin: 0 20%;
}

div#right-column {
    background: #ddd;
    right: 0;
    position: absolute;
    top: 0;
    width: 20%;
}

Jag är ledsen att jag stör alltså :-)

Medlem sedan jan. 2000978 inlägg
#2
body {
    margin: 0;
    text-align:center
}
Medlem sedan juli 2003303 inlägg
#3

Nja, det funkar inte som det ska. Allt blir ju centered, och det vill jag inte. Här är ett exempel: http://builder.com.com/5102-6371-5314471.html. Det funkar i IE (som jag sitter i nu), där finns inte text-align: center; i body. Jag fattar inte vad det är som skiljer som gör att det inte funkar i mitt exempel, men i det andra.

Medlem sedan jan. 2003137 inlägg
#4

Ta bort översta raden

Medlem sedan juli 2003303 inlägg
#5

Herre gud, vad är det med det som gör att allt blir fel?

Medlem sedan jan. 2003137 inlägg
#6

Men gör inte så ändå ;)

Det är bättre att göra rätt och göra så som Insider skrev för att få det att fungera i IE :D

Medlem sedan jan. 2000978 inlägg
#7

Den där översta raden sätter IE i quirks mode.
Därför funkar det i IE 6

Men för att centreringen ska funka i IE 5 så måste du även ha text-align center på Body.
Du kan ju sedan sätta text-align:left på div#wrapper för att inte allt ska bli centrerat.

Medlem sedan juli 2003303 inlägg
#8

Tack så mycket för hjälpen. Fast jag använder faktiskt ie6 nu, så borde det inte funka?

Medlem sedan jan. 2000978 inlägg
#9

Alltså, det funkar inte ens i IE6 när du har med <?xml version="1.0" encoding="utf-8"?>
IE förstår inte den raden.
Att ta bort den raden löser alltså problemet i IE6.
Däremot är det ingen bra ide att överhuvudtaget ha med den raden, så länge man inte lägger ut sidan som en .xhtml-fil på servern.

En bugg i IE5 gör att margin: 0 auto; tolkas felaktigt (inte tolkas alls), därför bör man även lägga in text-align:center i body,
och det är säkrast att ta med besökare med IE5 i beräkningarna.

Medlem sedan juli 2003303 inlägg
#10

Tack så mycket än en gång alla. Det som gjorde mig förvirrad var "Därför funkar det i IE 6". Håller på att läsa lite om det nu, vilket jag borde ha gjort för länge sedan.

Medlem sedan jan. 2000978 inlägg
#11

Lästips som du kanske redan läst:
http://xhtml.nu/artiklar/xhtml_1_0/fem_satt_att_skriva

269 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
132 ms — ändringar (db)