Avatar billede Slettet bruger
27. oktober 2005 - 16:39 Der er 22 kommentarer og
2 løsninger

Problemer med centrering i Firefox

Nedenstående kode giver en centreret tabel i IE, men ikke i Firefox.
Hvad gør jeg galt?
Avatar billede Slettet bruger
27. oktober 2005 - 16:40 #1
<HTML><HEAD>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
</HEAD>

<BODY style="margin: 0;padding: 0;">

<DIV STYLE="text-align:center">


<TABLE WIDTH="600" BORDER="1" CELLPADDING="4"><TR><TD>

bla bla

</TD></TR></TABLE>


</BODY></HTML>
Avatar billede udvikler Nybegynder
27. oktober 2005 - 16:43 #2
Det virker ikke ikke, som der står er det kun til tekst, selvom det i IE virker på alt, det er en fejl.

Brug istedet

<CENTER>
... Dit indhold
</CENTER>
Avatar billede steven_ Nybegynder
27. oktober 2005 - 16:59 #3
margin: auto; må være finten 'o)

<div style="margin: auto;">
Avatar billede udvikler Nybegynder
27. oktober 2005 - 17:01 #4
Nej, det virker ikke steven :) Har lige testet det i FF og IE - det virker ikke i begge

Det virker da også underligt. Hvorfor sætter du den til auto. Så hellere center :S hehe
Avatar billede schwarz84 Nybegynder
27. oktober 2005 - 17:23 #5
Doc-type skal være før <html>. I dit tilfælde:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
</HEAD>

<BODY style="margin: 0;padding: 0;">

<DIV STYLE="text-align:center">


<TABLE WIDTH="600" BORDER="1" CELLPADDING="4"><TR><TD>

bla bla

</TD></TR></TABLE>


</BODY></HTML>
Avatar billede schwarz84 Nybegynder
27. oktober 2005 - 17:25 #6
Din kode med margin 0 burde ikke centrere noget.
Man sætter margin til auto, for at indikere at den skal være den samme både i højre og venstre side. Dette centrerer indholdet. Prøv med doc-typen placeret rigtigt at sætte margin til auto.
Avatar billede Slettet bruger
27. oktober 2005 - 17:27 #7
Men hvad er der i vejen med at bruge <center>, når det nu virker?
Avatar billede schwarz84 Nybegynder
27. oktober 2005 - 17:27 #8
Du skal nok også lige afslutte din div. Alt i alt:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY style="margin: 0;padding: 0;">
<DIV STYLE="margin:auto">
<TABLE WIDTH="600" BORDER="1" CELLPADDING="4">
<TR>
<TD>
bla bla
</TD>
</TR>
</TABLE>
</DIV>
</BODY>
</HTML>

Det burde gøre det.
Avatar billede schwarz84 Nybegynder
27. oktober 2005 - 17:28 #9
ntg: Det kan du også gøre. Center er et forældet tag, som ikke findes i nyere versioner af HTML, hvor man prøver på at holde præsentationen af teksten adskilt fra selve teksten. Med dit valg af doc-type kan du bruge begge dele.
Avatar billede Slettet bruger
27. oktober 2005 - 17:31 #10
Dejligt :-)
Avatar billede steven_ Nybegynder
27. oktober 2005 - 18:21 #11
Avatar billede johan.o Nybegynder
28. oktober 2005 - 01:26 #12
Din DOCTYPE er ikke komplet så jeg tror ikke den har nogen effekt overhovedet.

Den burde være :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Du kan læse lidt om det her :

http://www.w3.org/TR/1999/REC-html401-19991224/struct/global.html

Mvh. Johan
Avatar billede roenving Novice
28. oktober 2005 - 08:01 #13
Hrm, der er vist adskillige fejl og misforståelser spredt over de fleste indlæg, men denne samlede udgave vil fungere i alle browsere:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
  html,body{height:100%;margin:0;border:0;}
  #minTabel{width:600px;margin:0 auto;border:2px inset;border-collapse:collapse;}
  #minTabel td{border:1px solid red;margin:0;padding:4px;}
</style>
<title>Centreret tabel</title>
</head>
<body>
<table id="minTabel">
  <tr>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
  </tr>
  <tr>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
  </tr>
  <tr>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
    <td>
      bla bla</td>
  </tr>
</table>
</div>
</body>
</html>
Avatar billede roenving Novice
28. oktober 2005 - 09:30 #14
Hov, der manglede lige noget i html,body-reglen (fordi Opera bruger padding i body !-)

  html,body{height:100%;margin:0;border:0;padding:0;}
Avatar billede johan.o Nybegynder
28. oktober 2005 - 10:45 #15
Jeg har ikke testet, men er ikke i tvivl om at det virker, jeg forstår bare ikke HVORFOR det virker. :)

Jeg har prøvet at læse :

http://www.w3.org/TR/CSS21/visudet.html#Computing_widths_and_margins

men er stadig lidt ??

Jeg er med på at 'margin: 0 auto' sætter top og bund margin til 0, og left og right til samme autogenererede værdi, jeg forstår bare ikke at den centrere tabellen da der ikke er defineret en container, hvorfor sætter den ikke bare left og right til '0' ?

Mvh. Johan
Avatar billede roenving Novice
28. oktober 2005 - 10:53 #16
-- block-level-elementer med en defineret bredde, kan gives en automatisk side-margin ...

-- og en tabel er i sig selv et block-level element !-)
Avatar billede johan.o Nybegynder
28. oktober 2005 - 12:17 #17
Uha, det kan godt være jeg er 'dence' her, men jeg er med på at det er muligt at sætte margin på <table> jeg er bare ikke med på hvordan 'den' fastsætter bredden af disse margins.

Eksemplet er :

<html>
<body>
<table>
</table>
</body>
</html>

Der er ikke defineret nogen fast bredde på noget af det overhovedet og alligevel centreres <tabel> i forhold til <body>.

Er 'forklaringen' at det ikke er nødvendigt at sætte en bredde på <body> tag'et, 'margin: 0 auto;' finder selv ud af den ?.....Det er da dejligt men jeg syntes det strider imod hvordan de fleste andre ting opfører sig, der skal man nærmest definere temperaturen i processoren før noget virker :)

Mvh. Johan
Avatar billede johan.o Nybegynder
28. oktober 2005 - 12:19 #18
Ja okay 'der er ikke defineret nogen fast bredde på noget' det er jo ikke helt rigtigt, <tabel> er defineret men <body> bredde er ikke defineret og det er det der undre mig.

Mvh. Johan
Avatar billede roenving Novice
31. oktober 2005 - 01:27 #19
body-elementet er også et block-level-element og ovenikøbet det eneste block-element, som defineres implicit, da det altid fylder den nødvendige bredde i browseren !-)
Avatar billede johan.o Nybegynder
31. oktober 2005 - 01:50 #20
Gotcha :)

Mvh. Johan
Avatar billede Slettet bruger
23. april 2006 - 23:28 #21
Jeg er flere gange blevet kritiseret for ikke at lukke mine spørgsmål.
Men jeg har faktisk lukket dem alle - givet points for dem, sådan at jeg kunne se, at et svar var accepterer - men senere dukker de alligevel op som ikke-besvarede.
Også selv om jeg prøver igen.
Nu prøver jeg at lukke dette spørgsmål endnu en gang - og håber, at det virker.
Avatar billede roenving Novice
23. april 2006 - 23:30 #22
Du skal huske at markere navne(t) i boksen til venstre før du trykker på Acceptér !-)
Avatar billede roenving Novice
23. april 2006 - 23:31 #23
*lol*

-- det fik jeg skrevet mens du trykkede !o]
Avatar billede Slettet bruger
23. april 2006 - 23:38 #24
Jamen det har jeg også gjort hver gang.
Kommer til at tænke på, om det kan være fordi jeg bruger FireFox?
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