Avatar billede fowler21 Nybegynder
19. januar 2006 - 13:41 Der er 20 kommentarer og
1 løsning

valign="center" med XHTML 1.0 Strict!

Hej.

Jeg har en side, som jeg er ved at kode efter XHTML 1.0 Strict! standarden.
Jeg har en tabel, som skal centreres midt på siden.
Da jeg tidligere har kodet efter HTML 4.01 standarden, har jeg brugt koden align="center".
Den går ikke efter XHTML 1.0 Strict! standarden.
Hvordan får jeg så centreret tabellen ?
Avatar billede plazm Nybegynder
19. januar 2006 - 13:55 #1
style="margin: 0 auto;"
Avatar billede plazm Nybegynder
19. januar 2006 - 13:57 #2
på tabellen.
Avatar billede mortenbock Nybegynder
19. januar 2006 - 14:04 #3
Så vidt jeg ved, så er det også god praksis at benytte <div> tags til at lave layout med. Jeg har gjort det her: http://www.pbm-consult.com/

Ellers så er der også masser af gode CSS tricks at hente på http://www.csszengarden.com/
Avatar billede plazm Nybegynder
19. januar 2006 - 14:32 #4
Mortenbock.
Det er sikkert en god praksis, men ikke et krav. Til nogle ting, der er det bedre at bruge tabeller, end det er at bruge div.
Avatar billede mortenbock Nybegynder
19. januar 2006 - 14:53 #5
Også netop derfor jeg præciserede som "god praksis" hvis det alligevel handler om øvelse i dette tilfælde. :-)
Avatar billede fowler21 Nybegynder
19. januar 2006 - 14:58 #6
plazm - kan ikke få dit svar til at virke.

Grunden til at jeg har brugt tabeller er, at jeg har tegnet min side i photoshop og derefter slicet den.

Andre svar ?
Avatar billede mortenbock Nybegynder
19. januar 2006 - 15:02 #7
Hvis du bruger IE så skal du sætte:

body {
  text-align: center;
}

I firefox er det:

table {
  margin: 0 auto;
}

IE kan ikke hitte ud af auto metoden, så man er nødt til at helgardere sig.
Avatar billede mortenbock Nybegynder
19. januar 2006 - 15:04 #8
Du skal muligvis også sætte bredden på tabellen, hvis dette ikke er gjort..
Avatar billede johan.o Nybegynder
19. januar 2006 - 15:05 #9
<table style="width: 500px; margin: 0px auto;">

Så skulle den være der.

Mvh. Johan
Avatar billede johan.o Nybegynder
19. januar 2006 - 15:07 #10
Oups, lige en postgang forsent :)

Men i overskriften skriver du valign="center".....er det lodret eller vandret du vil have tabellen centreret ?

Mvh. Johan
Avatar billede mortenbock Nybegynder
19. januar 2006 - 15:16 #11
god pointe Johan. valign er straks mere tricky!

Der er et godt eksempel her: http://www.wpdfd.com/editorial/thebox/deadcentre4.html
Avatar billede mortenbock Nybegynder
19. januar 2006 - 15:19 #12
Det ville hjælpe lidt hvis vi kunne se siden online...?
Avatar billede fowler21 Nybegynder
19. januar 2006 - 15:38 #13
Så skulle der være styr på det.
Jeg kan desværre ikke vise den frem, da den bare afvikles lokalt.

Jeg havde lige lidt problemer med at firefox "trak" lidt i mine tabeller men fik det på plads.

mortenbock -

body {
  text-align: center;
}

I firefox er det:

table {
  margin: 0 auto;
}

Denne kommentar virkede.

Smid et svar og pointene er dine. :-)

Takker alle for deres indlæg.
Avatar billede mortenbock Nybegynder
19. januar 2006 - 15:59 #14
svar
Avatar billede olebole Juniormester
19. januar 2006 - 21:50 #15
<ole>

fowler21 >>

body {
  text-align: center;
}

- virker kun på tabeller i IE ... og _kun_ hvis man selv disabler CSS i dokumentet.

table {
  width: 500px;
  margin: 0 auto;
}

- virker i alle moderne browsere. Dog kun i IE, hvis man ikke selv disabler CSS i dokumentet.

Prøv desuden at læse disse to:
    http://www.eksperten.dk/artikler/537
    http://www.eksperten.dk/artikler/538

/mvh
</bole>
Avatar billede mortenbock Nybegynder
20. januar 2006 - 15:31 #16
ole>

Jeg ved ikke om jeg misforstår dig, men rent praktisk har jeg nu erfaring med at det også fungerer fint i IE.

Ekspempel:

Vi har denne html kode:
<body>
  <div id="container">
    <p>tekst</p>
  </div>
</body>

For at centrere container div'et i IE laves følgende css:

body {text-align: center;}
#container {width: 700px;}

i Firefox skal der derimod stå:

#container {
  width: 700px;
  margin: 0 auto;
}

Så man må altså helgardere sig for at det virker i begge browsere.

Er du enig med mig i det?
Avatar billede johan.o Nybegynder
20. januar 2006 - 15:50 #17
Nej, det tror jeg ikke han er :)

#container {
width: 700px;
margin: 0 auto; }

virker i både FF og IE ..... prøv at se dette :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<title>Test.</title>
<style type="text/css">

#container {
margin: 0px auto;
width: 700px;
border: 1px solid blue; }

</style>
</head>

<body>
<div id="container">
  <p>tekst</p>
</div>
</body>
</html>

Mvh. Johan
Avatar billede olebole Juniormester
20. januar 2006 - 15:52 #18
Hvis du skriver ordentlig kode, bør 'text-align:center' _kun_ virke på tekst-noder og inline-elementer ... alt andet skal centreres med 'margin:0 auto'. At 'text-align:center' også virker på tabeller og block-elementer i IE er en fejl, som forhåbentlig bliver rettet i IE7.0.
Ordentlig kode er den eneste 'helgardering', du behøver i IE6+ ... her virker 'margin:0 auto' fint på tabeller og block-elementer.

- så nej, det er jeg absolut ikke enig i  :)
Avatar billede mortenbock Nybegynder
20. januar 2006 - 18:02 #19
for min egen lærings skyld:

Hvad er så den korrekte måde at skrive den kode på? Er det som johan.o skriver?

Så vidt jeg kan se benytter han ikke en xhtml doctype, men en html 4.01. Er det doctypen der gør forskellen her?

Jeg har læst dine artikler omkring implementeringen af xhtml i browserne, og kan godt følge dine argumenter om at bruge html 4.01 indtil xhtml fungerer ordentligt.

Jeg er også klar over et text-align: center; ikke er korrekt, og nærmere er et hack for at omgåes det problem der tit er med at centrere tabeller mv. i IE.

Opsummering:
Er det doctypen der gør hele forskellen i dette eksempel?
Avatar billede roenving Novice
20. januar 2006 - 18:06 #20
Det er doctype _inklusive_ dtd-link !-)
Avatar billede olebole Juniormester
21. januar 2006 - 04:15 #21
Som roenving skriver, er det af allerstørste vigtighed, at definitions-URL'en er til stede i DTD'en.
En anden yderst vigtig detalje er, der ikke står noget somhelst inden DTD'en ... og altså heller ikke en XML-prolog  :)

I IE7.0 vil man godt kunne have både en XML-prolog og CSS-understøttelse samtidig - dog stadig uden browseren kan parse XHTML som XML ... som jo er den eneste begavede begrundelse for at skrive XHTML  ;o)
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