PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Positionierung von "float: left;" elementen



cgogolin
15-10-2007, 21:11
Hallo!

Meine html Kenntnisse sind etwas eingerostet und deshalb stehe ich hilflos vor dem folgenden Problem:

Dieser Code


<html>

<head><meta content="text/html; charset=utf-8" http-equiv="Content-Type"></head>

<body>
<div style="margin: 0px 0px 0px 200px;">
<div style="border: 1px solid red; margin: 0pt 0pt 0pt -200px; float: left;">
wrong positioned div
</div>

<p>
TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT TEXT
</p>
</div>
</body>

<html>

wird zwar vom Firefox 2 Opera 9 und Safari 3 (wie ich finde) korrekt angezeigt. Für den Internetexplorer 6 muss jedoch aus

<div style="border: 1px solid red; margin: 0pt 0pt 0pt -200px; float: left;">
das hier

<div style="border: 1px solid red; margin: 0pt 0pt 0pt -100px; float: left;">
gemacht werden um das "selbe" Ergebnis zu erhalten.

Es ist jetzt nicht so, als ob es für mich was neues wäre, dass verschieden Browser die Vorgaben des w3c "unterschiedlich Interpretieren" und auch, dass sich der Internet Explorer da oft sehr unrühmlich "hervortut" ist ja alt bekannt.

Aber ich verstehe nicht was da schief läuft und bevor ich wieder eine extra css Datei für den IE schreibe möchte ich gerne wissen was da schief läuft und ob es vielleicht eine elegantere Lösung für das Problem gibt.

anniyka
18-10-2007, 13:03
ist es absicht, dass du im ersten div pt und im zweiten px verwendest?

cgogolin
18-10-2007, 16:46
Das kommt nur daher, dass ich das Minimalbeispiel aus einer komplizierteren html-Datei durch löschen von überflüssigen Optionen erzeugt habe.

Wie ich das sehe macht es keinen Unterschied ob es 0pt oder 0px sind.
Das Problem ist ja, dass der IE das Bild einfach doppelt so weit nach Links schiebt wie andere Browser.

BlueJay
19-10-2007, 08:39
ich meine mich schwach zu erinnern, dass IE bei margin und besonders bei negativen Werten dir was hustet.
vgl. hier:
http://www.positioniseverything.net/explorer/floatIndent.html

so long,
BlueJay

cgogolin
19-10-2007, 09:31
Vielen Dank, der in der verlinkten Website beschriebene Trick mit "display: inline;" funktioniert ohne weitere Nebenwirkungen.

Problem gelöst!