position: absolute - auch auf eine Tabellenzelle beziehbar
Frank_fragt
- css
0 Harlequin0 Kalle_B0 Frank_fragt0 Harlequin
Guten Tag,
kann ich mit position: absolute einen Text auch so positionieren, dass die Berechnung sich nicht auf dei Seite, sondern die linke obere Ecke einer Tabellen-Zelle bezieht?
Oder gibt es eine andere Möglichkeit?
Vielen Dank.
Yerf!
kann ich mit position: absolute einen Text auch so positionieren, dass die Berechnung sich nicht auf dei Seite, sondern die linke obere Ecke einer Tabellen-Zelle bezieht?
Nein. Man kann aber ein Element mit 100% Breite und 100% Höhe in die Zelle legen und dieses als Bezugspunkt verwenden (z.B. in dem man diesem Element noch position:relative gibt).
Oder gibt es eine andere Möglichkeit?
Falls es sich nicht um tabellarische Daten handelt: die Tabelle entfernen.
Gruß,
Harlequin
kann ich mit position: absolute einen Text auch so positionieren, dass die Berechnung sich nicht auf dei Seite, sondern die linke obere Ecke einer Tabellen-Zelle bezieht?
Ja klar.
absolute bezieht sich immer auf das Elternelement, das selbst absolute oder relative ist. Zellencontainer können relativ zur Zelle sein.
Gibt es kein solches Elternelement, bezieht sich absolute auf <body>
Kalle
absolute bezieht sich immer auf das Elternelement, das selbst absolute oder relative ist.
Auch 'fixed' ist abweichend von 'static'.
Yerf!
» absolute bezieht sich immer auf das Elternelement, das selbst absolute oder relative ist.
Auch 'fixed' ist abweichend von 'static'.
Aber all diese Angaben sind bei Tabellenzellen problematisch. Auf die Auswirkungen des "aus dem Fluss nehmens" bei fixed und absolute wird in den CSS-Specs nicht näher eingegangen. Eigentlich müssten die nachfolgenden Zellen alle ein nach links rutschen...
Und zu relative heißt es:
"The effect of 'position:relative' on table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, and table-caption elements is undefined."
Firefox nimmt das "undefined" relativ wörtlich...
Gruß,
Harlequin
Hi,
absolute bezieht sich immer auf das Elternelement, das selbst absolute oder relative ist.
auf das innerste Vorfahrenelement, das einen von static abweichenden Wert für position hat.
Falls nicht existent, auf den viewport.
Gibt es kein solches Elternelement, bezieht sich absolute auf <body>
Nein.
Achtung:
The effect of 'position:relative' on table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, and table-caption elements is undefined.
also sollte man keinem der Tabellen-Elemente das position:relative geben.
cu,
Andreas
Hi,
Falls nicht existent, auf den viewport.
viewport ist was? Die Anzeigefläche?
Nein, in bezug auf die Anzeigefläche ist position:absolute nicht absolut, es scrollt weg.
Kalle
viewport ist was? Die Anzeigefläche?
Der Anzeigebereich des Browserfensters, ja.
Hi,
Nein, in bezug auf die Anzeigefläche ist position:absolute nicht absolut, es scrollt weg.
Dein Sitzplatz in der Strassenbahn ist absolut, auch wenn die Strassenbahn fährt.
MfG ChrisB
Dein Sitzplatz in der Strassenbahn ist absolut, auch wenn die Strassenbahn fährt.
Ich versuch' mir garde vorzustellen, wie es aussieht, wenn eine Straßenbahn an mit vorbeiscrollt :)
Hallo,
Achtung:
The effect of 'position:relative' on table-row-group, table-header-group, table-footer-group, table-row, table-column-group, table-column, table-cell, and table-caption elements is undefined.
also sollte man keinem der Tabellen-Elemente das position:relative geben.
Achtung: Das bezieht sich auf den Effekt der Verschiebung bei dieser Positionierungsart. Theoretisch ist eine relativ positionierte Zelle ein Bezugspunkt für absPos Elemente.
Das größere Problem ist vermutlich, dass die Gecko-Engine bei Tabellen ihren Schwachpunkt hat und Tabellenelemente keine containing blocks für absolut positionierte Elemente bilden.
Gruß
Guten Tag,
kann ich mit position: absolute einen Text auch so positionieren, dass die Berechnung sich nicht auf dei Seite, sondern die linke obere Ecke einer Tabellen-Zelle bezieht?
Oder gibt es eine andere Möglichkeit?
Vielen Dank.
»»
Vielen Dank für eure Antworten.
Ich vergaß dazu zu schreiben, dass ich nicht so der Profi bin. leider verhalten sich IE und FF vollkommen anders und ich "bastele an einem Layout, dass sich bei verschiedener Auflösung möglichst nicht verändern soll. Das beste Ergebnis bekomme ich noch mit einer statischen Tabelle, die in der Mitte angeordnet ist und eine feste Breite hat. Leider ist aber die Textformattierung in der Höhe und mit dem linken Abstand zur Zelle nicht so einfach.
Yerf!
leider verhalten sich IE und FF vollkommen anders und ich "bastele an einem Layout, dass sich bei verschiedener Auflösung möglichst nicht verändern soll.
Wenn du position:relative bei <td> verwendest ist dass das Ergebnis, ja. Leider ist es so, dass es hier kein "Falsch" oder "Richtig" gibt, weshalb man diesen Weg nicht wählen sollte.
Das beste Ergebnis bekomme ich noch mit einer statischen Tabelle, die in der Mitte angeordnet ist und eine feste Breite hat. Leider ist aber die Textformattierung in der Höhe und mit dem linken Abstand zur Zelle nicht so einfach.
Tabellen sind nicht wirklich das einfachste Mittel für Layouts, da es hier sehr viele Freiheiten für die Browser gibt und dies zu sehr unterschiedlichem Verhalten führt.
Schau dir doch mal die <http://de.selfhtml.org/css/layouts/index.htm@title=hiesigen CSS-Layouts> an und hol dir dort ein paar Ideen. Dadurch wird der HTML-Code auch übersichtlicher und leichter wartbar.
Das Zentrieren der Webseite kannst du z.B. mit
body {width:600px;margin:auto}
erreichen. Wahlweise auch mit min-width und max-width um es flexibler zu gestalten und keine Angst vor flexiblen Layouts: die beißen nicht ;-)
Gruß,
Harlequin
Schau dir doch mal die <http://de.selfhtml.org/css/layouts/index.htm@title=hiesigen CSS-Layouts> an und hol dir dort ein paar Ideen. Dadurch wird der HTML-Code auch übersichtlicher und leichter wartbar.
Das Zentrieren der Webseite kannst du z.B. mit
body {width:600px;margin:auto}
Vielen Dank, ich versuche es mal.... Aber ich bin zu unerfahren und war schon fertig mit meinem kleinen Projekt, was aber leider nur gut auf FF läuft. So viel Arbeit umsonst :(
Nun, gut, da muss ich dann wohl durch.
Gruß, Frank.
Tabellen sind nicht wirklich das einfachste Mittel für Layouts, da es hier sehr viele Freiheiten für die Browser gibt und dies zu sehr unterschiedlichem Verhalten führt.
Schau dir doch mal die <http://de.selfhtml.org/css/layouts/index.htm@title=hiesigen CSS-Layouts> an und hol dir dort ein paar Ideen. Dadurch wird der HTML-Code auch übersichtlicher und leichter wartbar.
Da stehe ich gerade am Anfang mit meinen Experimenten :( wenn du Interesse hast, maile ich dir mal einen Link auf die Seite - vielleicht hast du einen Anfangstipp für mich, wie ich ungefähr zu dem gewünschten Ergebnis komme
Das Zentrieren der Webseite kannst du z.B. mit
body {width:600px;margin:auto}
Das hat funktioniert, nachdem ich oben
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
notiet habe....
erreichen. Wahlweise auch mit min-width und max-width um es flexibler zu gestalten und keine Angst vor flexiblen Layouts: die beißen nicht ;-)
Nee, die können gar nicht beißen, weil ich viel zu weit weg bin ;)
Gruß,
Harlequin
Gruß, Frank.
Yerf!
Da stehe ich gerade am Anfang mit meinen Experimenten :( wenn du Interesse hast, maile ich dir mal einen Link auf die Seite - vielleicht hast du einen Anfangstipp für mich, wie ich ungefähr zu dem gewünschten Ergebnis komme
Mir wäre es lieber, wenn wir das hier übers Forum machen. Da schauen dann auch mehr Leute drauf, die helfen können.
Das hat funktioniert, nachdem ich oben
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
notiet habe....
Ja, ein Doctype der den IE nicht in den Quirks-Modus schickt ist bei CSS-Layouts Pflicht. Ansonsten hat man mit sehr vielen Problemen zu kämpfen.
Gruß,
Harlequin