Strict html - Frage (style-Befehl)
artes
- html
0 Sönke Tesch0 artes
Hallo,
Ich habe in meinen Webseiten häufig einen <div style>-Befehl, um ein Element (z. B. table) absolut zu positionieren.
Jetzt habe ich festgestellt, dass Opera zwar den Befehl:
<div style="position:absolute; top:0px; left:0px;"> ausführt, nicht aber den Befehl
<div style="position:absolute; bottom:0px; right:0px;">.
Der IE macht's. Wenn ich das DOCTYPE als "strict" befehle, macht's der IE genauso wie Opera: "top" & "left" gehen, "bottom" & "right" nicht.
Wenn ich nun den style-Befehl nicht in das div-Tag eingebe, sondern in direkt in das jeweilige Tag, z. B.
<table style="position:absolute; top:100px; right:50px;">, versteht Opera nun plötzlich den Befehl "right". Dasselbe mit strict-html.
Der Befehl für "bottom" wird aber weiterhin nicht ausgeführt *grübel*.
Wie lautet der strict-html- taugliche Befehl für die Ausrichtung am unteren Rand?
Danke schonmal.
Ich habe in meinen Webseiten häufig einen <div style>-Befehl, um ein Element (z. B. table) absolut zu positionieren.
Schlecht. <div> ist nicht dazu gedacht, andere HTML-Tags zu ersetzen, noch um um andere Tags herum gestellt zu werden. Wenn Du <table> formatieren willst, dann formatiere <table> und bau' da nicht irgendeine Konstruktion drumherum.
Jetzt habe ich festgestellt, dass Opera zwar den Befehl:
<div style="position:absolute; top:0px; left:0px;"> ausführt, nicht aber den Befehl
<div style="position:absolute; bottom:0px; right:0px;">.Der IE macht's. Wenn ich das DOCTYPE als "strict" befehle, macht's der IE genauso wie Opera: "top" & "left" gehen, "bottom" & "right" nicht.
Das deutet schonmal darauf hin, daß das von Dir bemängelte Verhalten richtig ist. Grundsätzlich kann man davon ausgehen, daß der IE von den weiter verbreiteten der zweitschlechteste Browser ist, was CSS betrifft (irgendwo jenseits von Gut und Böse kommt dann Netscape 4).
Erst mit dem IE 6 hat sich das gebessert, allerdings auch nur im strict-Modus.
Wie lautet der strict-html- taugliche Befehl für die Ausrichtung am unteren Rand?
bottom ist das richtige Attribut. Du solltest allerdings bedenken, daß der "untere Rand" öfters mal nicht dort ist, wo manch einer ihn vermutet. Eine HTML-Seite ist zum Beispiel nach ihrem letzten Objekt zu Ende, nicht am unteren Rand des Fensters.
Du hast leider kein Beispiel angegeben, insofern lässt sich dazu nicht mehr sagen. Ein erster Schritt wäre aber, dem darüber liegenden Element einen Rahmen zu verpassen, um wenigstens genau sehen zu können, woran ausgerichtet wird.
Davon abgesehen ist position:absolute für meine Begriffe etwas undurchsichtig, weil nicht selten <body> zum Referenzelement gemacht wird, nicht das direkt darüber liegende. Abhilfe schafft die Angabe position:relative ohne weitere Positionsangaben im darüber liegenden Element.
Gruß,
soenk.e
PS: Du hast sicher schon einen Blick in den CSS-Standard geworfen (http://w3.org/TR/CSS2/)?
Hi,
Danke!
ich hab's jetzt geschafft, dass Opera (funktioniert ja angeblich wie netscape) en Befehl "bottom" versteht: Es müssen unbedingt Angaben zur Höhe und Breite gemacht werden!
In diesem Falle möchte ich Text in einem Table anzeigen lassen. Je nach Seite öffnet sich der Text an versch. Stellen. Der Table muß genau den Text umfassen, nicht zu groß, nicht zu klein. Das hatte ich bislang so gelöst, dass ich die Angabe "height" nicht gemacht habe. Dann würde sich der table immer genau der Schriftgröße anpassen, je nach Browser. Aber leider funzt das bei Opera nicht. Ich mußte dem table ein Höhe zuweisen, etwas knapp bemessen, aber egal.
Das Witzige ist, das IE den Befehl "bottom" im "strict" modus nicht versteht. Das liegt wahrscheinlich an der von Dir angegebenen Tatsache, dass das Ende der Seite halt das Ende des letzten Elements istm und die Seite nur aus diesem table besteht ...
Mal ausprobieren, ob das geht, wenn ich ein table einsetze, dem ich höhe und Breite=100% zuweise.
Aber ist ja letztendlich egal, denn jetzt funktioniert es ja unter beiden Browsern.-
Grüße.