CSS-Formatierungen werden ignoriert
Nobb
- browser
Hallo,
mir ist aufgefallen, dass mein IE6 hin und wieder CSS-Formatierungen übersieht. Z.B. bei folgendem Code wird die Breitenangabe für mein textfeld1 einfach ignoriert:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Textfeld</title>
<style type="text/css">
<!--/
.textfeld1
{ width:50px;}
.textfeld2
{ width:100px;}
/-->
</style>
</head>
<body>
<input class="textfeld1" type="text"><br />
<input class="textfeld2" type="text">
</body>
</html>
Schreibe ich z.B. noch eine nicht benötigte Klasse textfeld0 davor werden textfeld1 und t.2 korrekt behandelt. Auch wen ich die Input-Felder direkt formatiere:
<input style="width:50px" type="text"><br />
<input style="width:100px" type="text">
tritt der Fehler nicht auf. Das finde ich sehr seltsam.
Das Phänomen ist schon mal aufgetreten, doch ich weiß leider nicht mehr wo es damals hing.
Wir haben schon in einem anderen Forum darüber diskutiert und wussten nicht woher dieses Problem kommt. Allerdings soll Mozilla das gleiche Problem haben.
Hatte jemand auch schon dieses Problem? Weiß jemand woher das kommt und was man eventuell dagegen tun kann?
Gruß Nobb
Hi,
1. dem IE kann man das verzeihen. Veraltete Browser verstehen CSS nicht ganz.
2. Was ist denn das für eine Zeile: <!--/
E7
Oh, das habe ich aus einem anderen Forum und ich habe mir zunächst nichts dabei dacht, weil es "fast" wie ein Kommentar aussieht. Aber daran hat es wohl gelen. Denn folgender Code geht:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Textfeld</title>
<style type="text/css">
<!--
.textfeld1
{ width:50px;}
.textfeld2
{ width:100px;}
-->
</style>
</head>
<body>
<input class="textfeld1" type="text"><br />
<input class="textfeld2" type="text">
</body>
</html>
Vielen Dank
Hi,
Oh, das habe ich aus einem anderen Forum und ich habe mir zunächst nichts dabei dacht, weil es "fast" wie ein Kommentar aussieht. Aber daran hat es wohl gelen. Denn folgender Code geht:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
Aha, Du benutzt also HTML, nicht XHTML.
Besser als 4.0 wäre 4.01 (enthält ein paar Korrekturen).
<style type="text/css">
<!--
Dieser HTML/SGML-Kommentar-Anfang wird ignoriert. Der darauf folgende / wurde aber selbstverständlich nicht ignoriert.
Es stand also
/ .textfeld1
als erster Selektor da. Das ist inkorrekte Syntax, da / kein gültiger simple-selector ist.
Also wird der komplette Selektor samt zugehörigem Ruleset ignoriert, wie im Standard vorgeschrieben.
<input class="textfeld1" type="text"><br />
Hier verwendest Du XHTML-Schreibweise - oben hast Du aber HTML 4.0 angegeben, nicht XHTML.
Ein korrekter Browser würde (wegen SHORTTAG=YES in HTML) das > als Zeichen anzeigen.
cu,
Andreas
Hi Andreas,
zunächst ein mal vielen Dank dass du mich berichtigst, denn nur so kann ichs ja lernen. ;)
Ich kenne XHTML eigentlich nicht, habe eben mal die SELFHTML-Erläuterung angesehen. Ich glaube du meinst den / in <br /> oder?
Den / macht mein HTML-Editor automatisch rein, wenn ich ein <br> schreibe. Und weil ich HTML eingestellt habe dachte ich eben, das sei eine weitere, bessere Schreibweise. Aber mein Editor erstellt auch noch den alten HTML-Header. Und mein Browser hat auch noch nie gemeckert. Aber ist auch ein IE. Also ich werds mir merken,
Grüße, Nobb