Moin!
Nein - außer der NS4 bei der Schriftgröße interpretieren _Pixel_ nun wirklich alle Browser gleich.
Doch. Ich weiss nicht mehr bei welcher Gelegenheit mir das untergekommen ist. jedenfalls hatte ich bei irgendeinem Element Grösse in px angegeben und darüber eine Grafik mit der selben Pixelgrösse.
Ok, das kann natürlich sein. Außerdem: Es gibt line-height, die kann man auch beeinflussen.
Beweise her! Ich habe diesen Effekt noch nie bemerkt.
Achte auf die Grafik neben den formularfeldern rechts. Der Quellcode unterscheidet sich einzig darin das die Tabelle einmal so geschrieben ist:<td>
<img src="../sta/images/login_oben.jpg" width="228" height="52" alt="Login head">
</td>und einmal so:
<td><img src="../sta/images/login_oben.jpg" width="228" height="52" alt="Login head"></td>Jeweils Zeile 15. Und da soll noch einer versuche halbwegs übersichtlich eingerückten Code zu schreiben...
Das ist absolut normal. Denn einmal ist zwischen td und img ein Leerraum (HTML interpretiert beliebig viele Zeilenschaltungen und Leerzeichen insgesamt als ein Leerzeichen, und das andere Mal nicht.
Es ist schon seit dem ersten Netscape-Browser, der Tabellen kennt, dokumentiert, dass <td><img></td> etwas anderes ist als <td> <img> </td>.
Das machen aber auch alle Browser identisch.
<form> ist ein blockbildendes Element mit einer gewissen Default-Formatierung. Dazu gehören auch margin oder padding oben und unten am Element.
Und wieso bildet der NS keine komplette Leerzeile darunter? Vergleiche auch hierzu die Länge des Blockes unter den header-Grafiken in ihre Darstellung im IE und im NS.
Was weiß ich? Vermutlich, weil er eine anderer Default-Formatierung hat.
Nur weil du nicht weißt, wie man diese Probleme behebt, heißt das noch nichts.
Allein das die Probleme da sind beweist schon das valides HTML noch lange nicht heisst das es in allen browsern gleich (oder zumindest in etwa so wie vom erstellen beabsichtigt) dagestellt wird.
Das stimmt. Das liegt in der Natur von HTML. Invalides HTML wird garantiert nicht überall gleich dargestellt, bei validem HTML hat man zumindest die Garantie, dass die Browser es identisch _verstehen_. Die Darstellung hängt dann aber vom Browser und dessen Fähigkeiten ab.
Löse dich außerdem von der Vorstellung, man könne in allen Browsern identisches Aussehen hinkriegen: Man kann es nicht!
Erwarte ich ja nicht.
Doch, das erwartest du.
Aber ich erwarte das man wenigstens in soweit hinkommen kann, dass das Design in allen browsern halbwegs ansehnlich ist. und die oben aufgezeigten probleme beweisen, das es nicht immer so ist.
Du willst diese winzigen, irrelevanten Abweichungen der Darstellung doch nicht etwa als Beweis heranziehen, oder?
Zum beispiel ist es ziemlich schwer nen Layer auf eine bestimmte Stelle zu postieren wenn der IE plötzlich nach dem form ne komplette Leerzeile einfügt...
Dann hast du die falsche Taktik zum Positionieren von Layern! Wenn du absolut positionierst, bezogen auf <body>, dann hast du in der Tat die Probleme. Aber warum positionierst du nicht relativ zu einem Element, welches seine Position dynamisch unterhalb des Form einnimmt?
p.s.: bis auf 3mal "there is no attribute" sind sowohl A.htm als auch B.htm valides HTML. Trotzdem macht der IE zicken...
Das liegt dann am IE.
- Sven Rautenberg
Signatur oder nicht Signatur - das ist hier die Frage!