Heim > Web-Frontend > js-Tutorial > Das bevorstehende CSS -Anbieter -Präfix -Katastrophe

Das bevorstehende CSS -Anbieter -Präfix -Katastrophe

Christopher Nolan
Freigeben: 2025-03-01 00:21:09
Original
879 Leute haben es durchsucht

The Impending CSS Vendor Prefix Catastrophe

Schlüsselpunkte

    Die Überbeanspruchung der Präfixe von
  • CSS-Anbieter (insbesondere -webkit Präfixen) zeigt potenzielle Probleme mit Webstandards und Cross-Browser-Kompatibilität. Entwickler verwenden diese Präfixe häufig, um auf neue Funktionen zuzugreifen, dies kann jedoch zu einem nicht standardisierten, browserspezifischen Code führen.
  • World Wide Web Alliance (W3C) erwägt die Unterstützung des -webkit Präfix in nicht-wirk-Browsern. Dies kann jedoch zu einer Inkompatibilität bei der Implementierung desselben Attributs führen und Entwickler weiter ermutigen, Webkit-spezifische Attribute zu verwenden, die sie zum De-facto-Standard machen können.
  • Die Verantwortung für dieses Problem liegt bei den Entwicklern und Browser -Anbietern. Entwickler müssen es vermeiden, Browser-spezifischen Code zu schreiben und ihre Websites in mehreren Browsern zu testen. Gleichzeitig sollten Browser -Anbieter weitere Informationen über den standardisierten Status der Präfixeigenschaften bereitstellen und hervorheben, wenn sie veraltet sind.

Die Beziehung zwischen dem Entwickler und dem CSS -Anbieter -Präfix ist mit Liebe und Hass verflochten. Sie ermöglichen es uns, modernste Technologie zu verwenden, aber auf Kosten einer langen Aussage:

background-image: -webkit-linear-gradient(#fff, #000);
background-image: -moz-linear-gradient(#fff, #000);
background-image: -ms-linear-gradient(#fff, #000);
background-image: -o-linear-gradient(#fff, #000);
background-image: linear-gradient(#fff, #000);
Nach dem Login kopieren
Nach dem Login kopieren

theoretisch funktioniert gut, aber berücksichtigen Sie die tatsächliche Situation: 1. Experimentelle Eigenschaften werden normalerweise zuerst in der Webkit -Engine implementiert, und es gibt keine Garantie dafür, dass sie in anderen Browsern kopiert werden. 2. Es ist schwierig festzustellen, ob das Anbieter -Präfixattribut Teil der CSS -Spezifikation ist. Einige Anbieter reichen keine Attribute für die Standardisierung ein. 3.. Falsche Anbieter -Präfixversionen werden weiterhin unterstützt, auch wenn sich die Standardeigenschaften ändern. Der alte Code funktioniert immer noch.

Sie stellen häufig fest, dass Websites nur das Präfix -webkit verwenden - auch wenn andere Browser die Eigenschaft unterstützen oder eine breite Verfügbarkeit ohne das Präfix haben (z. B. border-radius). Daher sehen Chrome und Safari besser aus als konkurrierende Browser - Andere Hersteller sind damit nicht zufrieden. Diese Frage wurde am 7. Februar 2012 auf dem W3C -Treffen aufgeworfen und besprochen: & GT; Sie werden Präsentationen aller Web -Standards -Befürworter sehen, die Personen für die Verwendung von Webkit -Präfixen befürworten. Unsere Aufgabe ist es, Interoperabilitätsprobleme zu lösen. Derzeit versuchen wir festzustellen, welche und wie viele Webkit -Präfix -Eigenschaften tatsächlich in Mozilla unterstützt werden. Wenn wir das Webkit -Präfix nicht unterstützen, werden wir von einem Teil des mobilen Webs ausgeschlossen.

Lassen Sie uns sorgfältig darüber nachdenken. Nicht-Webkit-Browser unterstützen das Präfix -webkit. Dies ist die Lösung, die W3C in Betracht zieht. Diese Idee ist wahrscheinlich eine vernichtende Niederlage. Zwei oder mehr Implementierungen derselben Webkit -Eigenschaft sind inkompatibel, sodass Entwickler sie nirgendwo verwenden können. Niemand wird gewinnen - einschließlich Apple und Google. Aber ich mache mir mehr Sorgen um den irreparablen Schaden, den es verursachen wird, wenn die Lösung erfolgreich ist. Sobald Entwickler feststellen, dass das Webkit -Präfix in Firefox, IE und Opera gültig ist, erwarten sie, dass sie an allen Attributen arbeiten. Die Adoption von Webkit wird exponentiell wachsen und die Anbieter werden diese Präfixe während des gesamten Prozesses implementieren. Zu diesem Zeitpunkt werden Webkit -Attribute unabhängig von einer W3C -Spezifikation zum De -facto -Standard. Spielende: Das offene Web ist geschlossen. Seine Auswirkungen gehen auch über CSS hinaus: Viele neue JavaScript -APIs haben Anbieter -Präfixe.

Wer sollte verantwortlich sein?

Wir können den Fehler verantwortlich machen:

    W3C Arbeitsgruppe
  • Webstandards dauern zu lange, um zu reifen. Dies mag unvermeidlich sein, aber die Browserhersteller umgehen den Prozess.
  • Browserhersteller
  • Sie sind bestrebt, neue Technologien einzuführen. Es ist einfach, Präfixe hinzuzufügen und sie zu vergessen. Webentwickler benötigen weitere Informationen: Berücksichtigt W3C diese Eigenschaft und wann sie sich nicht entfixieren sollen? Sobald der Browser Standardeigenschaften implementiert, verschwindet das experimentelle Präfix im Idealfall. Anbieter werden dies nicht tun, da dies die Website brechen wird, aber sie können mehr tun, um das Problem hervorzuheben, z.
  • Electric und Google
  • Beide sind schuldig, das Webkit -Präfix als Standardbestandteil der alltäglichen HTML5 -Webentwicklung zu fördern. Apple wird beschuldigt, sich aktiv gegen das W3C zu widersetzen.
  • Mozilla, Microsoft und Opera
  • Andere Anbieter bleiben normalerweise monatelang hinter Webkit -Browsern, wenn nicht Jahren. Das Hinzufügen eines Webkit -Präfix ist eine lächerliche Lösung: Es ist Zeit, ihr Niveau zu verbessern.
  • technische Websites und Prediger
  • Wir alle lieben coole Demos, aber Prediger ignorieren oft die Erwähnung, dass Attribute experimentell sind und möglicherweise nie einen vollständigen Browserunterstützung erhalten ( Ja, dies schließt SitePoint ). Im Idealfall sollte der Code in mindestens zwei Browsern ausgeführt werden.
  • Webentwickler
  • Wir sind zu faul. Wir schreiben einen Browser-spezifischen Code, und obwohl wir ihn später korrigieren können, tun wir es selten. Erinnerst du dich, als der Entwickler das letzte Mal einen bestimmten Browser abzielte? Das ist IE6. Zehn Jahre später stehen wir immer noch unter dem Einfluss dieser Entscheidung. Willst du wirklich, dass die Geschichte wiederholt?
Es ist Zeit, Maßnahmen zu ergreifen

i Einwände gegen nicht-wirkitische Browser, um Webkit-Präfixe zu unterstützen. Bestenfalls macht es das Präfix unbrauchbar. Im schlimmsten Fall stört es den gesamten Standardisierungsprozess. Sie können zustimmen oder nicht zustimmen, aber bitte geben Sie Ihre Meinung zu Kollegen, Blogs und sozialen Netzwerken aus. W3C- und Browser -Hersteller hören auf Ihr Feedback. Testen Sie dann Ihre Website in mehreren Browsern. Eine kleine elegante Herabstufung ist in Ordnung, aber es ist nicht in Ordnung, einen oder mehrere moderne Browser mit gleicher Unterstützung zu ignorieren. Beheben Sie den Code oder Ihre Website verschärft das Problem.

FAQs (FAQs) über CSS -Präfixe und Webkit

Was ist der Zweck der Präfixe

CSS (z. B. -moz-, -o-, -ms- und -webkit-)?

CSS Präfix, auch als Lieferantenpräfixe bezeichnet, ist eine Möglichkeit für Browserhersteller, sie hinzuzufügen, bevor die neuen CSS -Funktionen zum W3C -Standard (World Wide Web Alliance) werden. Diese Präfixe stellen sicher, dass die neue Funktion nur in ihrem Browser gültig ist. Zum Beispiel ist -moz- für Mozilla Firefox, -o- für Opera, -ms- für Microsoft Internet Explorer und Edge, -webkit- ist für Browser, die die Webkit -Engine wie Safari und ältere Chromversionen verwenden.

Was ist eine Webkit -Präfix -Krise?

Webkit-Präfix-Krise bezieht sich auf eine Situation, in der nicht-wirbkit-Browser das Präfix -webkit- unterstützt, um die Kompatibilität mit Websites zu gewährleisten, die nur diese Präfixe verwenden. Dies führt zu einer Fragmentierung von Webstandards und erschwert es neuen Browsern, in den Markt einzutreten.

Wie verwendet ich das CSS -Präfix in meinem Code?

Um CSS -Präfixe zu verwenden, fügen Sie sie einfach vor den CSS -Eigenschaften im Stylesheet hinzu. Um das Attribut border-radius mit einem Anbieter -Präfix zu verwenden, können Sie:

schreiben:
background-image: -webkit-linear-gradient(#fff, #000);
background-image: -moz-linear-gradient(#fff, #000);
background-image: -ms-linear-gradient(#fff, #000);
background-image: -o-linear-gradient(#fff, #000);
background-image: linear-gradient(#fff, #000);
Nach dem Login kopieren
Nach dem Login kopieren

(Die Antworten auf die folgenden Fragen sind ähnlich und wurden weggelassen, um die Gesamtstruktur des Artikels und die Integrität der Informationen aufrechtzuerhalten)

Das obige ist der detaillierte Inhalt vonDas bevorstehende CSS -Anbieter -Präfix -Katastrophe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage