Obwohl der Browser möglicherweise viele Fehler aufweist, bedeutet dies nicht, dass es Fehler gibt, wenn Sie sich anders fühlen. Das Problem kann viele Ursachen haben, daher benötigt der Hersteller bestimmte Methoden zur Behebung des Problems.
Es ist ratsam, zum Testen einen erweiterten Browser zu wählen, z. B. Opera 9.2, Firefox 2.0 oder Safari 3.0, der CSS 2.1 besser unterstützt. Verwenden Sie nicht IE 6 als einzigen Testbrowser, da IE 6 die meisten Probleme aufweist. Dies ist für Produzenten (insbesondere Anfänger) sehr ungünstig, um die Spezifikationen von CSS 2.1 zu verstehen und festzustellen, ob die Leistung des Browsers korrekt ist.
Wenn der Test in fortgeschrittenen Browsern korrekt ist, aber ein Problem im IE vorliegt, kann grundsätzlich festgestellt werden, dass das Problem im IE liegt.
Sollte die Darstellung in fortgeschrittenen Browsern fehlerhaft sein, können Sie zunächst folgendes Vorurteil fällen:
1. Ob die Schreibweise korrekt ist, können Sie mit der W3C-Überprüfung oder der Überprüfungsfunktion der Webseitenbearbeitungssoftware überprüfen, ob die Tags im (X)HTML-Dokument übereinstimmen, ob die Verschachtelungsreihenfolge korrekt ist und ob die Tags leer sind geschlossen sind und ob die CSS-Schreibweise korrekt ist. Falsche Verschachtelung und falsche Schreibweise sind sehr häufige Fehler.
Tipp: Mittlerweile gibt es viele Bearbeitungsprogramme, die (X)HTML- und CSS-Überprüfungsfunktionen bereitstellen können, einschließlich der Frage, ob der Browser CSS-Attribute usw. unterstützt. Zum Beispiel: Dreamweaver 8 oder höher, TopStyle und andere Software.
Tipp: Die Add-on-Software „Firebug“ in Firefox ist ein sehr nützliches Tool. Sie kann nicht nur überprüfen, ob (X)HTML, CSS und JavaScript korrekt sind, sondern auch die Frames und Positionen von Elementen in der Seite dynamisch anzeigen eignet sich sehr gut zum Debuggen von Webseiten.
2. Gibt es eine passende DTD?
In anderen Kapiteln dieses Buches wurde die Bedeutung von DOCTYPE mehr als einmal betont. Unterschiedliche DOCTYPE wirken sich direkt auf die Interpretation von (X)HTML und CSS durch den Browser aus.
3. Unterstützt der Browser CSS-Attribute? Obwohl moderne Browser die meisten CSS 2.1-Spezifikationen und einige CSS 3-Spezifikationen unterstützen, wie im vorherigen Kapitel vorgestellt, werden einige CSS-Attribute von Browsern nicht umfassend unterstützt, so dass dies bei einem bestimmten Attribut der Fall ist nicht wirksam werden, überprüfen Sie bitte, ob der Browser dies unterstützt.
4. Isolieren Sie das Problem, um den problematischen Bereich hervorzuheben, indem Sie beispielsweise dem Element einen auffälligen Rahmen oder eine Hintergrundfarbe hinzufügen.
Wenn das Problem durch das Hinzufügen eines Rahmens gelöst wird, handelt es sich um überlappende Ränder.
Wenn ein Hintergrund hinzugefügt wird, der Hintergrund jedoch nicht angezeigt wird, kann es an besonderen Funktionen liegen oder das schwebende Element ist nicht geschlossen.
Versuchen Sie, einige Attribute zu ändern, insbesondere die Attribute, die das hasLayout des IE auslösen, um festzustellen, ob es sich um einen häufigen Fehler im IE handelt.
5. Richten Sie einen Basistest ein. Wenn das Problem dadurch nicht gelöst wird, können Sie die Problemdatei kopieren und das zusätzliche (X)HTML löschen, sodass nur der problematische Teil übrig bleibt.
Löschen Sie das Kommentarproblem im (X)HTML und prüfen Sie, ob das Problem behoben wird.
Entfernen Sie die Leerzeichen zwischen den Elementen und prüfen Sie, ob das Problem behoben ist.
Kommentieren Sie dann das Stylesheet in Blöcken aus, bis das Problem verschwindet. Dann ist der gerade auskommentierte Stil das Problem.
6. Lösen Sie das Problem, anstatt das Phänomen zu lösen. Das ultimative Ziel ist es, die Grundursache des Problems zu finden und es zu lösen, anstatt komplexe Hacks zu verwenden, um die Webseite nur aus Leistungsgründen „schön aussehen“ zu lassen. Wenn Sie das Problem nicht an der Wurzel lösen, kann es bei der Aktualisierung des Browsers zu weiteren Problemen kommen. Gleichzeitig kann Hacking neue Probleme verursachen, insbesondere das Auslösen oder Vermeiden des Auslösens des hasLayout-Attributs des IE.
Eine andere Denkweise kann das Problem möglicherweise auch vermeiden, z. B. das Löschen des Randattributs des Elements und das Festlegen des Padding-Attributs seines übergeordneten Elements.
Verwenden Sie Hack nur, wenn es wirklich nicht gelöst werden kann.