# Tabelle verschiebt sich



## Daniel Sun (9. April 2009)

Hallo,

ich baue eine Website auf (Microsoft Expression 2). In Sachen HTML bin ich fortgeschritten, kein Anfänger aber auch kein Profi. Mit PHP kenne ich mich noch nicht so gut aus. Folgendes Problem:

Ich habe eine Tabelle aufgebaut die nun keine feste Größe mehr hat (ich hatte sie vorher auf 943 Pixel festgelegt). Diese Tabelle habe ich zentriert angelegt. Meine Seite unterteilt sich in

- home
- galerie
- privat
- gästebuch
- impressum

Die eine Tabelle habe ich immer für alle Seiten genommen. Ich habe nicht jeweils eine andere neu aufgebaut. Jedenfalls verschiebt sich meine Tabelle innerhalb der Seiten nach links und ich finde diesen Fehler nicht. Lege ich aber bei allen Tabellen die Ausrichtung Standard fest, steht sie am linken Rand und verschiebt sich auch nicht.

Meine Vermutung ist, das der Scrollbalken dazu kam und sich deswegen die Tabelle verschiebt. Ich wollte nun das Problem lösen, indem ich den Scrollbars auf allen Seiten erzwinge - zu erscheinen. Es funktioniert bloß nicht. Auf den Seiten von SelfHTML wird es gezeigt wie es geht, aber nur unter Frames - auf meiner Seite habe ich aber keine Frames. Ohne ein "Frameset" kann ich keine Scollbar erzwingen. Könnt ihr mir hier helfen? Gibt es Alternativen?

Sage schon mal danke für eure Hilfe.
Gruß - Daniel


----------



## gdfan (9. April 2009)

Tabelle? Für alles? Da würde ich doch lieber div Container nehmen. Hast du schon mal was von CSS gehört, bzw. kannst du???
Leider verstehe ich das Problem nicht so ganz. Könntest du mal ein Bild posten?


----------



## Daniel Sun (10. April 2009)

Hallo,

meine grammatische Schreibweise ist nicht das Wahre, entschuldigt, aber hier ist es zu sehen:




			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        

 (ohne Scrollbar)



			Dieser Inhalt steht nur eingeloggten Mitgliedern zur Verfügung.
        

 (mit Scrollbar)

Die Tabelle verschiebt sich nur einige Zentimeter, aber das nervt mich. Die Seite ist auch nicht fertig. Wenn die Bilder nicht viel bringen, stelle ich auch meine Seite hier rein, wenn gewünscht - falls ihr den Quelltext sehen wollt.

Danke
Gruß - Daniel


----------



## jetztaber (10. April 2009)

Logisch - die Tabelle verschiebt sich um die Breite des Scrollbars nach links, wenn dieser eingeblendet wird.

Der Scrollbar ist Bestandteil des Browsers bzw. des Betriebssystems und deswegen vermindert sich die darstellbare/verfügbare Bildschirmbreite der Webseite um den Wert der Breite des Scrollbars und die Tabelle wird, wenn sie nicht mit festen Pixelbreiten hinterlegt ist, um diesen Wert nach links verschoben, bzw. unten 'abgeschnitten'.

Das entsteht in Deinem Beispiel durch das größere Bild, das auf Deinem zweiten Screener eben nur teilweise sichtbar ist, im Gegensatz zum Bild im ersten Screener.


----------



## Daniel Sun (10. April 2009)

Ich kann nur bestätigen die Tabelle hat keine feste Größe. Wie löse ich das Problem?
Gruß - Daniel


----------



## gdfan (10. April 2009)

Div-Container


----------



## Falcon (10. April 2009)

Joar, so Sachen löst man am Besten mit CSS und div Containern. Ist auch viel schneller als Tabellen.


----------



## k-b (12. April 2009)

Das äußere Gerüst absolut positionieren und da kann man dann unabhängig zentrieren, dass es immer in der Mitte der Seite ist.


----------



## Akkuschrauber (12. April 2009)

Bevor du fragst:

Anleitung zum zentrieren einer Seite umabhängig der Bildschrimauflösung:

Als erstes brauchst du einen div-container, in dem der ganz Inhalt der Seite steht.
(Am besten nach <body> aufmachen und vor </body> wieder zu)

dem div gibst du den Namen mitte oder so was

Im Css steht dann folgendes :

.mitte {
position:absolute;
width:300px;    // hier kann auch was anderes stehen
height:200px; // hier auch
left: 50%;
top: 50%;
margin-left: -150px; // hier muss der negative Wert der Hälfte der Breite rein
margin-top: -100px; // hier der der Höhe
}

Falls du die Seite nur horizontal zentrieren willst, kannste dir die top-Sachen sparen.

Akku


----------



## gdfan (12. April 2009)

Das geht doch auch mit margin-left: auto; und margin-right: auto;
Oder???


----------



## k-b (12. April 2009)

Dacht ich mir beim lesen des Postings auch. Weiß aber nicht, ob das auch bei absoluter positionierung gilt. Als normales Blockelement auf jeden Fall. 
Hatte aber auch keine Lust um das zu testen


----------



## jetztaber (12. April 2009)

Auto-Werte sind relative Werte, nicht absolute. Auto ist das, was ihm gerade passiert.

Zusätzlich würde ich einen ID-Selektor bevorzugen und keinen Klassen-Selektor, wenn es um ein Div-Tag geht. Es soll ja das Element selbst, bzw. sein Inhalt, die Tabelle, formatiert werden. So:

#mitte {

...}

Klassen-Selektoren kann er dann in bzw. für die Tabelle anwenden.


----------



## Akkuschrauber (12. April 2009)

gut, hast Recht. Dürfte aber eigentlich keinen Unterschied machen.


----------



## jetztaber (12. April 2009)

Also, wenn er die Tabelle fixiert, rutscht sie zwar nicht mehr nach links, wenn ein Scrollbalken erscheint, aber dafür ist das Ding in der Position festgenagelt. Wenn jemand eine andere Bildschirmbreite verwendet, bzw. das Browserfenster schmaler macht, bleibt die Tabelle, wo sie ist. Ich sehe das als größeres Übel an, im Gegensatz zu dem kleinen Sprung nach links. 

Lieber irgendwie zentriert als komisch positioniert, würde ich mal sagen.


----------



## k-b (12. April 2009)

Bei einer 900px breiten Tabelle kann man das Risiko imho eingehen


----------



## feivel (22. April 2009)

ich hab dasselbe kleine problemchen bei meinem impressum noch...alle anderen seiten stimmen

:/


----------



## Daniel Sun (23. April 2009)

Danke für eure Antworten!! Ich muss mich wohl mit den DIV Containern auseinandersetzen. Ich probier es einfach mal. Hoffentlich klappts.

Gruß - Daniel


----------

