Wenn Sie nur auf die neuesten Browser abzielen (zum Zeitpunkt des Schreibens von Chrome 37.x, Firefox 32.x und Internet Explorer 11 sollten die neuesten Rendering-Engines abgedeckt sein), können Sie die browserübergreifende Kompatibilität relativ einfach und in den meisten Fällen erreichen - Hack kostenlos, da alle genannten Browser die meisten der neuesten HTML- und CSS-Eigenschaften unterstützen.
Einige Fragen, die Sie sich stellen sollten, bevor Sie beginnen:
1.) Wie kann ich von der Zeit / dem Geld profitieren, die ich aufgewendet habe, damit meine Website wie ein Browser aussieht?
Wenn sich die vielen Stunden, die Sie damit verbracht haben, Ihre Website zu optimieren und sie in allen Browsern gleich aussehen zu lassen, nicht in angemessener Zeit amortisieren, ist es offensichtlich, dass Sie Ihre Zeit damit verschwenden, browserübergreifende Kompatibilität zu erreichen (Beispiel: Ist dies der Fall? Sinn / Auszahlung zur Optimierung einer Intranet-Website für Chrome / Firefox, wenn die Bibliothek, für die Sie arbeiten, einen 10-Jahres-Vertrag mit Microsoft hat, um auf deren Software ausgeführt zu werden?).
2.) Ist es wichtig, dass der Inhalt meiner Website in allen Browsern gleich aussieht (pixelgenau)?
Wenn es keinen bestimmten Grund gibt , warum Sie eine gestrichelte Linie benötigen, um in allen Browsern gleich auszusehen, sollten Sie sich nicht darum kümmern - überlassen Sie es dem Browser, sie anhand der Renderregeln zu rendern. Es wird nicht in jedem Browser gleich aussehen, aber kein gewöhnlicher Benutzer wird jemals überprüfen, ob Ihre Website die gestrichelte Linie in Firefox oder im IE gleich dargestellt hat. Benutzer verwenden in der Regel einen Browser, um den Inhalt zu durchsuchen. Solange alle Funktionen Ihrer Website funktionieren und optisch ansprechend aussehen, können Sie loslegen. Pixel-perfekte Designs werden sehr selten benötigt (Sie möchten sie möglicherweise erreichen, um Ihre Fähigkeiten unter Beweis zu stellen - insbesondere auf Websites für persönliche Entwicklerportfolios).
3.) Kann die Funktionalität meiner Website in jedem Browser funktionieren?
Viele der neuesten HTML / CSS (/ JavaScript) -Techniken funktionieren nicht in allen Browsern, da die neuesten HTML / CSS-Spezifikationen noch lange nicht fertig sind und Browserhersteller häufig entscheiden, Testfunktionen einzuschließen, ohne die Spezifikation zu befolgen ODER die Spezifikation zu ändern , während der Anbieter noch keine neue Version seines Browsers veröffentlicht hat. In diesem Fall haben Sie zwei Möglichkeiten:
- Implementieren Sie eine Polyfüllung, die die gewünschte nicht unterstützte Funktion nachahmt
- bieten einen Fallback. Fallbacks verfügen normalerweise nur über eingeschränkte Funktionen, bieten jedoch die Mindestunterstützung, sodass Ihre Website nicht auseinanderfällt, wenn die Funktion nicht unterstützt wird (selbst die Anzeige der Meldung " Ihr Browser unterstützt diese Funktion nicht " ist besser als die Anzeige einer leeren Seite).
Einige Überlegungen beim Erstellen Ihrer Website:
- Stellen Sie sich Ihre Websites als Module vor . Wenn Sie das Design für ein Modul abgeschlossen haben (z. B. Website-Navigation), testen Sie es in allen Browsern, die Sie gleichzeitig unterstützen möchten. Wenn Sie Probleme feststellen, versuchen Sie, diese zu beheben, bevor Sie mit dem nächsten Modul fortfahren. Es ist einfacher, kleinere Codestücke zu debuggen, als das fertige Design zu debuggen und nicht zu wissen, welcher Teil genau das Problem verursacht.
- Halten Sie Ihren Code auf ein Minimum . Wenn Sie nur ein div ein- / ausblenden müssen, müssen Sie kein Framework eines Drittanbieters implementieren, um dies zu erreichen ( "nicht genug jQuery" ) - einfaches JavaScript kann dies perfekt.
- Refactor früh und Refactor oft . Möglicherweise stellen Sie häufig fest, dass Sie zu viele CSS-Regeln für etwas geschrieben haben, das viel einfacher hätte durchgeführt werden können. Haben Sie keine Angst, Ihren Code umzugestalten. Dies wird Ihr Leben und das Leben des potenziellen Entwicklers, der später an Ihrem Code arbeiten wird, viel einfacher machen, da weniger Code zu lesen ist und somit weniger Spielraum für Fehler besteht.
- Verwenden Sie Herstellerpräfixe . Viele der neuesten CSS-Funktionen erfordern immer noch ein bestimmtes Browserpräfix, um auch in der neuesten Version ausgeführt zu werden. Geben Sie die vom Hersteller vorangestellten Eigenschaftsnamen vor dem regulären CSS-Eigenschaftsnamen an, damit er im gewünschten Browser funktioniert.
Dies wären meine wichtigsten Überlegungen, über die ich nachdenken sollte, bevor ich mit der Arbeit beginne.