PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : CSS: Tabelle zentriert ausgeben?


mf_2
2008-10-13, 20:42:21
Hallo,

Ich habe eine Webseite mit einer unsichtbaren Tabelle als Layout. Diese Tabelle ist 900 Pixel breit und soll zentriert angezeigt werden.
Mit '<TABLE align="center">' geht das auch wunderbar, aber so weit ich weiß gehört das ja nicht mehr wirklich zum Standard.
Daher suche ich nun nach einer CSS Lösung für dieses Problem.
Es gibt ja noch 'text-align:center;' aber das ist nur für Text und inline-Elemente wie z.B. Bilder. Einzig der Internet Explorer interpretiert das auch für die Tabelle, was jedoch nicht standardkonform ist.
Beim Firefox wird das text-align für die Tabelle ignoriert (was standardkonform ist).
Wisst ihr da eine Lösung?

Auf selfhtml->CSS sagt es etwas von 'margin 0 auto;', aber das geht weder im IE, noch im Firefox. Ich habe das Attribut ins TABLE, BODY und sogar ins HTML Tag gesetzt, keine Reaktion.

Mir gehen langsam die Optionen aus.

Umgebung ist übrigens Firefox 2 und ............... Internet Explorer 7 *duckundweg* ;)

Habt ihr eine Lösung für dieses Anzeigeproblem?

Gruß,
mf_2

DanMan
2008-10-13, 21:43:40
Mit '<TABLE align="center">' geht das auch wunderbar, aber so weit ich weiß gehört das ja nicht mehr wirklich zum Standard.
Wenn du schon Tabellen fürs Layout benutzt, dann kommts darauf auch nicht mehr an...

beos
2008-10-13, 23:04:12
Du kannst die Positionierung

margin 0 auto

auf einen Block anwenden - z.B. wie hier im Bsp einen 900 px breiten, der immer in der Mitte sitzt, eine weiße Hintergrundfarbe besitzt und bei einem "Inhaltsüberlauf" größer wird.

#centralbody {
margin:0pt auto;
position:relative;
width:9000px;
overflow: visible;
background-color: #FFFFFF;
}

In diesen Block kannst Du natürlich auch die vorhandene Tabelle setzen :)

Matthias2x
2008-10-19, 09:55:53
wenn es unbedingt mit Tabelle sein muß / soll dann pack die Tabelle in einen DIV Container und richte diesen mit "margin: 0 auto" aus .. etwa so:


<div style="margin: 0 auto">
<table>
<tr>
<td>&nbsp;</td>
</tr>
</table>
</div>


Wichtig ist auch die korrekte "<!DOCTYPE .." Angabe im Dokumentkopf, ansonsten interpretieren es die Browser auch nicht korrekt.

mf_2
2008-10-19, 17:00:35
Als DOCTYPE habe ich HTML 4.01 Strict.
Das mit dem margin auto hatte ich auf SelfHTML schon gesehen, aber ich habe es immer in die Tabelle gesetzt und dann hat es weder im Firefox geklappt, noch im IE.

Da Tabellen aber ja anscheinend auch nicht so das Richtige sind, was ist denn korrekt?
Drei DIV Elemente nebeneinander? Meine Tabelle is nämlich dreispaltig. Ich meine das habe ich schonmal probiert und ich habe es nicht hinbekommen. Warum genau soll ich keine Tabelle nehmen?

Danke schonmal für eure Hilfe so weit :)

EDIT: Juhu, 2000. Beitrag ;D

Matthias2x
2008-10-19, 19:19:49
irgendwas hast du falsch gemacht. poste doch mal deinen quelltext, dann kann man mehr sagen

DanMan
2008-10-20, 19:20:18
Warum genau soll ich keine Tabelle nehmen?
Die Frage aller Fragen. Muss man die heute immernoch beantworten? Wie wärs damit:
flexibler, da man es nächträglich auch NICHT in 3 Spalten anordnen könnte, ohne das HTML anfassen zu müssen schlanker, weil weniger Text nötig; macht Wartung einfacher semantisch richtig, weil es nunmal keine tabellarischen Daten, sondern das Gerüst der Seite ist usw...

Dass das mit margin:0 auto; nicht funktioniert liegt wahrscheinlich daran, dass deine Tabelle keine feste Breite hat. Das <div> außenrum ist übrigens total überflüssig.