Supportnet Computer
Planet of Tech

Supportnet / Forum / Webseiten/HTML

problem mit tabelle IE setzt nicht center





Frage

Hallo, ich möchte gern eine tabelle die ganz oben anfängt und mittig ist. [code]<table style="position:absolute; top:0px;" align=center>[/code] habs auch über css mit text-align:center versucht. Aber der IE interpretiert das einfach nicht und setzt mir die tabelle nach links. Firefox macht das ohne probleme... Habt ihr ne Lösung für mich... danke für eure mühe Jarod

Antwort 1 von derpfleger

CSS: das
style="text-align:center;"
gehört in den body-tag, dann müsste es funktionieren.

Antwort 2 von J32

...nein leider hat das nicht funktioniert....er reagiert zwar darauf aber jetzt schiebt er die tabelle nach rechts und zwar über den eigentlich rand hinaus...ka warum

...in firefox hat sich dagegen gar nichts verändert...immer noch so wie es sein soll

danke trotzdem

Jarod

Antwort 3 von derpfleger

Hast du die Seite online? Dann poste hier mal die URI.
Wenn nur offline, poste den Quellcode.

Gruß Heiko

Antwort 4 von J32


</head>
<body id="bg">
 <table align="center" cellspacing="0" cellpadding="0" border="0" width="{tableoutwidth}" bgcolor="{tablecolora}" style="position:absolute; top:0px; border-collapse:collapse; border-left:1px solid black; border-right:1px solid black; border-bottom:1px solid black; border-top:0px solid black;">
  <tr>
     <td width="780px"> 


Das ist der quelltext für die Tabelle die ich mittig haben möchte aber auch das sie von oben bei 0px beginnt.
Ich habe es wie vorgeschlagen mit center im body tag probiert. dabei hat mir der IE alles nach rechts geschoben statt in die mitte. In der Tabelle wird das center vom IE einfach ignoriert.

Ich habe auch schon jegliche position art durchprobiert. relative, absolute usw.

Antwort 5 von Dixi*

Hi, was willst du eigentlich? Wenn du die Tabelle absolut positionierst, kannst du nicht noch verlangen, dass sie auch noch mittig sitzen soll. Da musst du dich schon entscheiden. Mit absolut hast du sie auf den linken Randabstand von 1px festgelegt.

Antwort 6 von Mubarak

Hi, setze die Tabelle in eine zweite Tabelle und die Innere richtest du dann zentrisch zur äußeren aus.

table.aussen { width:100%; height:100%; }

div.innen { margin-left:auto;
margin-right:auto;
text-align:center;}

</head>

<body id="bg">
<table class="aussen" border="0" cellpadding="0" cellspacing="0" >

<tr>
<td>
<div class="innen">

<table cellspacing="0" cellpadding="0" border="0" width="{tableoutwidth}" bgcolor="{tablecolora}" style="position:absolute; top:0px; border-collapse:collapse; border-left:1px solid black; border-right:1px solid black; border-bottom:1px solid black; border-top:0px solid black;">
<tr>
<td width="780px">

Antwort 7 von firefox2

Es wäre viel einfacher wenn du Den Befehl verwendest:
<center>Tabelle</center>
Den zentrierungs Befehl akzeptiert sogar der rutimentäre M$ Internet Explorer, das mit der zweiten Tabelle ist zwar möglich, aber nur unnötiger Code.

Antwort 8 von Mubarak

@firefox2

Das <center> im Zusammenhang mit Tabellen verstehen andere Browser leider nicht. Mein Beispiel müsste in allen Browsern laufen.

Antwort 9 von jotobi

Welcher Browser kann das nicht? Mein IE UND mein Firefox machen das problemlos...hab das bisher auch immer so gelöst! Also mit center...

Gruß
jotobi

Antwort 10 von firefox2

Ja, wirklich!
Welcher Browser sollte das nicht unterstützen? Sogar Netscape 4 und Internet Explorer 4 müssten das unterstützen.

Antwort 11 von derpfleger

<html>
<head>
<title></title>
</head>

<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000" style="text-align:center; margin:0px;">


<table style="position:relative; top:0px; margin:0px auto; width:780px; border:1px solid #000000;">
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
</table>

</body>
</html>


Antwort 12 von J32

Hallo ihr lieben Leute,

vielen dank für eure Hilfe. Das Problem wurde gelöst. Die Lösung von derpfleger hat es gebracht. Ich danke dir vielmals. Auf die Idee wär ich nie gekommen.

@dixi ich hab lediglich geschrieben das ich alle varianten ausprobiert habe. Zumal es auch möglich ist nur bei position nur ein attribut wie z.b. top anzugeben. lediglich der IE setzt das dann mit left 1px als standard und ignoriert dabei jede andere angabe wie center. Firefox bspweise erkennt die angabe center als solche und setzt somit die tabelle auch mittig. ob position absolute oder nicht. Und wenn ich nur position:absolute; top:0px; will dann kann mir der IE das nicht einfach mittig setzen ;)

der <center> befehl bringt es daher nicht das durch die position angabe und center der IE dann von der mitte als startpunkt ausgeht und somit die tabelle nach rechts schiebt. Klingt merkwürdig...aber genau so sieht das dann leider aus.

jedenfalls was auch immer vielen dank euch allen

Jarod

Antwort 13 von derpfleger

Ist nicht wirklich auf meinem Mist gewachsen, sondern etwas modifiziert von dieser Seite übernommen:http://www.css4you.de/wslayout1/ex0003.html
Ironischerweise gerade ein Beispiel für tabellenloses Design :-)

Gruß Heiko

Antwort 14 von J32

hey heiko,

egal auf wo du es her hast...es hat mir geholfen...damit haste dir ein dickes danke auch verdient :D

Jarod

Antwort 15 von firefox2

Naja,
ein einfaches <center> hätte es viel einfacher getan. Wenn du den einfachen Befehl ausprobiert hättest, hättest du gemerkt das der problemlos in jedem Browser klappt.

Antwort 16 von derpfleger

<center></center>:
Zitat:
Dieses Element ist jedoch als deprecated eingestuft. Es ist mittlerweile eigentlich überflüssig und sollte nur noch in begründeten Ausnahmefällen (z.B. Abwärtskompatibilität zu Netscape 1.1) benutzt werden.
Zitat aus Selfhtml

Gruß Heiko

Antwort 17 von firefox2

Und wem soll das interessieren, solange es funktioniert?
Es legt fest das etwas zentriert werden soll, nur weil jemand denkt das er immer wieder neue Befehle einführen muss, muss man diese nicht verwenden.

Antwort 18 von J32

hallo,

ich wollte ja nicht das hier Streitigkeiten entstehen wegen eines mickrigen html befehls.

Aber um das mal zu klären. Wie ich oben schon erwähnt habe, hat der <center> befehl eben nicht funktioniert, weil der nicht mit dem style="position" zusammenarbeitet. zumindest nicht im IE. Der IE schiebt mit dem <center> Befehl alles nach rechts statt in die Mitte. Ich gehe davon aus weil er das dann als übergeordnetes element der tabelle nimmt und somit als neuen startpunkt setzt. Naja jedenfalls hat es so mit dem Position befehl nicht funktioniert.

Jarod

Antwort 19 von derpfleger

<html>
<head>
<title></title>

</head>
<body style="margin:0px;">

<center>
<table border="1px solid #000000" width="780px">
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
<tr>
 <td> 1</td>
 <td> 1</td>
</tr>
</table>
</center>

</body>
</html>


Da muß ich allerdings firefox2 recht geben. Funktionieren tut der <center>-Tag durchaus.

Warum ich ihn trotzdem nicht empfohlen habe: weil er eben veraltet ist. Es spielt keine Rolle, ob er funktioniert oder nicht.
Hingewiesen darauf, daß es ihn gibt und daß er funktioniert, hat ja firefox2 schon. Also fehlte im Thread nur noch der Tip, wie man das "moderner" löst. Diese Lösung sollte zumindest nicht fehlen, genausowenig wie der Hinweis auf die Tatsache, daß der <center>-Tag eben veraltet ist.
Im Übrigen gibt es wohl für alle Probleme mehr als einen Lösungsweg, und im Rahmen der Vollständigkeit sind hier im Thread jetzt wohl die wichtigsten erwähnt.

Gruß Heiko

Antwort 20 von derpfleger

@J32:
Mit der absoluten Positionierung wolltest du ja lediglich ereichen, daß deine Tabelle ohne Rand nach oben abschliesst.
Das Problem dabei ist, daß manche Browser eben dem <body> default-mäßig einen Rand zuweisen. Den bekommst du nur weg, indem du dem <body>-Tag die css-Anweisung
margin:0px;
zuweist.

Gruß Heiko

Antwort 21 von voll_schlau_ey

Ich hatte das gleich Problem: <center> wird vom IE ignoriert.

Jedoch wird

<td align="center">

vom IE und Firefox korrekt behandelt ... ob nun veraltet oder nicht!

Antwort 22 von rfb

Zitat:
<center> wird vom IE ignoriert
nur wenn - wie im og Beispiel - andere Formatierungsanweisungen dem entgegenstehen.

Zitat:
<td align="center"> vom IE und Firefox korrekt behandelt ... ob nun veraltet oder nicht!
ja, und?
Klar können die den veralteten Kram. Du vermeidest allerdings jede Menge Ärger (wie obiges Problem), wenn du diesen Kram (Layouttabellen, HTML-Formatierungsattribute, <font>) nicht nutzt sondern konsequent auf CSS umsteigst.

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: