• 27.05.2025, 20:47
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

_giffi

Senior Member

Mittwoch, 29. September 2010, 11:09

weil man die ohne präfix nutzen kann ohne dass das Nachteile hätte, wie einige Browser (zB Opera und Safari) ja auch beweisen.
BTW: Beim Safari/Chrome wird z.Z. der Präfix "-webkit" verwendet für CSS3 :rolleyes:

Mittwoch, 29. September 2010, 11:42

Na noch besser, sogar schon alles dreimal schreiben :P

Safari kann ich selber nicht testen, da muss ich immer nen Kollegen fragen, aber in Opera funktioniert der border-radius zB ohne präfix, einfach so der originale befehl... die trauen sich ja was ;)

kA vielleicht fehlt mir ja wirklich der überblick über das Ganze, aber für mich stellt es sich halt im Moment so dar, dass es Browser gibt die nehmen einfach css3 so wie es im Moment ist, dann welche mit präfix, aber unterschiedliche, ohne wird ignoriert. Das ergibt doch, dass ich wenn ich in allen Browsern css3 verwenden will das 2x mal mit präfix und einmal ohne schreiben muss. Sehe ich das so falsch dass 1x ohne präfix für alle browser doch irgendwie einfacher wäre? Zumal ich jetzt nicht das Gefühle habe dass Opera irgendwie davon "kaputt" gehen würde...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »deeptera« (29. September 2010, 11:43)

Ich schreibe in Foren/Messengern/etc schneller als ich denken oder überhaupt tippen kann, Fehler und Edits in Massen bitte einfach ignorieren :sleeping:

Mittwoch, 29. September 2010, 17:52

Hat jemand Popcorn da ? :thumbsup:

Sonntag, 3. Oktober 2010, 14:12

Das sollte kein handfester Flame sein :)

Bis so ein Standard wie eben CSS (nicht nur v3) einigermaßen ausgereift ist, dauert es viele Jahre (vgl. z. B. http://www.w3.org/Style/CSS/current-work).

[An dieser Stelle hat mir ein falscher Mausklick meine gefühlt mehrseitigen Ausführungen zum Thema ins Nirvana geschossen. Es folgt eine Zusammenfassung.]

Die verschiedenen Browser kennzeichnen mit den ihnen eigenen Präfixes (Gecko [Firefox et al.]: "-moz", WebKit [Safari, Chrome]: "-webkit-", Presto [Opera]: "-o-") ihre aktuellen Implementierungen. Diese können sich z. B. bzgl. Reihenfolge oder Bedeutung der Werte (gerade bei mehreren möglichen oder erforderlichen Argumenten) unterscheiden. Ein Beispiel ist border-radius; die Quelle geht dabei auch auf die Browserunterschiede ein. Auszug:

Zitat

Mozilla’s Firefox browser has supported the border-radius property, with the -moz- prefix, since version 1.0. However, it is only since version 3.5 that the browser has allowed elliptical corners, [...]

Die grundlegende Implementierung bestand also schon weitaus länger als CSS 3. Es ist also nicht so, dass es erst die Spezifikation und dann eine einheitliche Umsetzung in allen Browser gäbe. Vielmehr bieten einzelne Browser bestimmte Features mit ihren eigenen Präfixes an, die dann erst später in die Spezifikation einfließen. Weiterhin kann die Spezifikation ungenau sein, so dass verschiedene Browser sich unterschiedlich verhalten. Mit Präfixen kann man dann jeden Browser dazu bringen, das Gewünschte zu tun. Basierend auf den Erfahrungen bei Implementierung durch Hersteller und Anwendung durch Nutzer (Webdesigner/-entwickler) kann dann die Spezifikation überarbeitet werden. In Zukunft bieten die Browser dann das CSS-Attribut mit einheitlichem Namen und Funktionalität an.

Man könnte natürlich nur auf die "fertigen" Attribute setzen. Die Vorteile gerade von CSS 3 (aber auch bei den Vorgängerversionen war es ähnlich) überwiegen jedoch so stark, dass es nur sinnvoll ist, sie jetzt schon zu nutzen. Bspw. ließen sich dadurch eine Vielzahl von Grafiken z. B. in Navigationslisten ablösen mit all den daraus resultierenden Verbesserungen für die Funktion des Web und die Nutzbarkeit durch seine Anwender (Suchbarkeit, Skalierbarkeit, Ersparnis von zu transportierender Datenmenge etc.).

Gut, man muss bestimmte CSS-Attribute redundant (aber mit Präfix) angeben um das Ziel zu erreichen. Die sind jedoch eben dadurch vorwärtskompatibel, d. h. bedürfen auch in Zukunft keiner Änderung.

Und wenn man doch unbedingt die anderen Browser und FF mit runden Ecken beglücken will, dann muss man alles doppelt schreiben, einmal mit und einaml ohne moz-präfix, ich wüsste nicht was daran ein Vorteil sein soll.

Der Vorteil ist, dass es jetzt schon geht. Und das alles ist keineswegs Firefox-spezifisch, sondern betrifft alle modernen Browser, die sich weiterentwickeln (also in der Regel selten MSIE). Allerdings ist Safari noch nicht so lange für Windows und Chrome selbst noch nicht so lange verfügbar, so dass man "-moz-" entsprechend häufiger antrifft. Daraus ergibt sich zudem, dass die Browser, die bei bestimmten Attributen "später zugestiegen" sind, bereits die finale Variante umsetzen können und es daher bei ihnen keine historische Version mit Präfix gibt.

Vielleicht kann mich ja jemand erleuchten, aber bitte auf die reale Situation im Web und den Browsern bezogen, nicht auf jemanden der in seiner Kammer gerne Firefox-only-Experimente betreibt.

Ich persönlich nutzte die (in der Tat teilweise auch bereits ohne erforderliches Präfix) verfügbaren Möglichkeiten der *verschiedenen* Browser seit längerem um die gewünschten Resulate mit Gecko, Webkit und Presto zu erzielen.

[...] für mich stellt es sich halt im Moment so dar, dass es Browser gibt die nehmen einfach css3 so wie es im Moment ist, dann welche mit präfix, aber unterschiedliche, ohne wird ignoriert.

Korrekt.

Das ergibt doch, dass ich wenn ich in allen Browsern css3 verwenden will das 2x mal mit präfix und einmal ohne schreiben muss.

Grundsätzlich richtig. Da kann es dann durchaus öfter mal so aussehen:

Quellcode

1
2
3
4
5
#content .section-head {
  box-shadow: 3px 5px 4px #111111;
  -moz-box-shadow: 3px 5px 4px #111111;
  -webkit-box-shadow: 3px 5px 4px #111111;
}


Sehe ich das so falsch dass 1x ohne präfix für alle browser doch irgendwie einfacher wäre?

Einfacher: ja. Jetzt schon möglich: nein. Das o. g. Beispiel ist der tatsächlich praxistaugliche Weg, jetzt mit wenig Mehrarbeit deutlich mehr Nutzen zu erzielen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Y0Gi« (3. Oktober 2010, 14:15)