<form> bug beim Internet Explorer?
Lasse
- html
0 Felix Riesterer
0 Lasse
0 Der Martin
- css
0 MudGuard
hallo,
ich bin gerade dabei eine Webpräsenz zu erstellen und komme auch gut voran. Ich beherrsche PHP und eigentlich auch HTML nur irgendwie bin ich gegen einen Bug mitlerweile ratlos bei der Anzeige... es wird immer Automatisch eine Leerzeile unter meiner Tabelle erzeugt und ich habe keine Ahnung warum! Im Firefox zeigt er alles richtig an, ich schätze, das mein Code irgendwo einen Fehler aufweißt und der IE den richtig interpretiert!
[Code]
<div style="height:40px; padding-left:30px;">
<form method="post" action="?<?php echo $_SERVER[QUERY_STRING];?>">
<table cellpadding=0 cellspacing=0 border=10 width=100%>
<tr><td style="padding-top:2px;"><input type="text" name="login" class="loginfield"></td></tr>
<tr><td style="padding-top:2px;"><input type="password" name="pw" class="loginfield"></td></tr>
<tr><td style="padding-top:4px;"><input type="submit" value="Login" class="loginbutton"> <input type="reset" value="Reset" class="loginbutton"></td></tr>
</table>
</form>
</div>
[/Code]
Was mache ich falsch?
mfg
Lasse
Lieber Lasse,
ich schätze, das mein Code irgendwo einen Fehler aufweißt und der IE den richtig interpretiert!
das glaube ich nicht. Lies es im Archiv nach, aber dieser Fall ist extrem unwahrscheinlich!
Was mache ich falsch?
Du verwendest eine Tabelle und inline-Styles. Das geht auch anders!
Verzichte auf die Tabelle zur Darstellung und gestalte das Aussehen rein mit CSS, das sinvollerweise in einer externen CSS-Datei ausgelagert sein sollte.
Wenn Du soweit bist und einen Link zu einer vollständigen Seite angeben kannst, sehen wir weiter.
Liebe Grüße aus Ellwangen,
Felix Riesterer.
Du verwendest eine Tabelle und inline-Styles. Das geht auch anders!
Verzichte auf die Tabelle zur Darstellung und gestalte das Aussehen rein mit CSS, das sinvollerweise in einer externen CSS-Datei ausgelagert sein sollte.
Ich lagere diese Styles mit Absicht nicht in eine Stylesheet Datei aus, da mein Script auf Templates basiert und ich gerne an Ort und Stelle alles editieren möchte!
Es lag an dem margin-bottom vom Formular Element!! Vielen dank für die schnelle Hilfe! Problem ist gelöst ;-)
mfg
Lasse
P.S. Die einfachste Möglichkeit ist meist am schwierigsten zu finden :/
Hallo,
es wird immer Automatisch eine Leerzeile unter meiner Tabelle erzeugt und ich habe keine Ahnung warum!
</table>
</form>
</div>
Gibst du denn margin-bottom für das table-Element oder padding-bottom für form vor? Soweit ich sehe nicht. Dann lässt du damit also dem Browser freie Hand.
Im Firefox zeigt er alles richtig an, ich schätze, das mein Code irgendwo einen Fehler aufweißt und der IE den richtig interpretiert!
Bei Layoutfragen von "richtig" oder "falsch" zu reden ist müßig, solange das Verhalten nicht eindeutig vorgeschrieben ist. Anscheinend haben Firefox und IE hier unterschiedliche Defaultwerte für margin und/oder padding. Setze die passenden Werte also explizit, dann sollten es auch beide Browser (und noch viele andere) so darstellen, wie du das willst.
Was mache ich falsch?
Du überlässt zu vieles dem Zufall - hier in Gestalt der Browser-Defaults.
Ciao,
Martin
Hi,
Ich beherrsche PHP
steht im Widerspruch zu
<?php echo $_SERVER[QUERY_STRING];?>
es sei denn, Du hättest tatsächlich eine Konstante namens QUERY_STRING definiert.
und eigentlich auch HTML
steht im Widerspruch zu
<table cellpadding=0 cellspacing=0 border=10 width=100%>
und
<div style="height:40px; padding-left:30px;">
<form method="post" action="?<?php echo $_SERVER[QUERY_STRING];?>">
[...]
</form>
</div>
Mindestens das width-Attribut muß in Anführungszeichen stehen.
Ein div, das exakt ein Kind-Element hat, ist in 99,99% der Fälle überflüssig.
es wird immer Automatisch eine Leerzeile unter meiner Tabelle erzeugt und ich habe keine Ahnung warum!
Vermutlich, weil Du keinerlei die browser-Defaults überschreibenden Angaben zu den Innen- und Außen-Rändern der diversen Elemente gemacht hast.
cu,
Andreas