Rzeczą, której najbardziej nienawidzę w CSS3, jest to, że zawsze masz dwie właściwości, które powinieneś zrobić, aby zrobić jeden efekt. Myślę, że to nie jest profesjonalne i zwiększa rozmiar CSS. Na przykład, dlaczego nie zjednoczyć -webkit-border-radius
i -moz-border-radius
w border-radius
Wyobraź sobie, że mamy 10 przeglądarek, czy napiszemy 10 linii, aby zrobić efekt zaokrąglonego rogu? Ktoś może wyjaśnić?Dlaczego w CSS3 jest -moz-XXX i -webkit-XXX?
Odpowiedz
To dlatego, że są specyficzne dla danego dostawcy. -webkit-
i -moz-
-prefixowane właściwości to standardowe właściwości , a nie. Ten "obszar nazw" pozwala sprzedawcom testować nowe, ciekawe funkcje, a jeśli są świetne, można je włączyć do standardów. Tak dzieje się z CSS3: Mozilla i zespół Webkita wypróbowali fajne rzeczy, a teraz staną się standardem. Po prostu jeszcze nie zostało to zrobione. W końcu stanie się spójna właściwość border-radius
.
Jest to wyraźny sposób wskazania, że coś nie powinno działać we wszystkich przeglądarkach. Na przykład -webkit-transition-property
działa tylko w przeglądarkach opartych na Webkit.
W każdym razie, -webkit-border-radius
i -moz-border-radius
nie działają dokładnie tak samo. Dzieje się tak dlatego, że każdy sprzedawca, nawet robiąc podobne rzeczy, może wdrażać funkcje zgodnie z oczekiwaniami. Standard ustanowi standardowy sposób, ale każdy będzie mógł robić, co chce, w swoim własnym obszarze nazw.
-webkit-border-radius
i -moz-border-radius
zostały utworzone zanim standard granic CSS3 był kompletny (nadal nie jest zatwierdzonym standardem - obecnie jest rekomendacją kandydacką).
Standard dotyczy tylko border-radius
, co można zobaczyć na stronie specification.
Są one charakterystyczne dla mozilla i webkita - po zatwierdzeniu standardu powinien on zostać zmieniony na border-radius
we wszystkich przeglądarkach obsługujących.
Witam. W tym czasie stanie się standardem, czy prefiks będzie nadal wspierany? (P. Moje gratulacje za ♦) –
@RoyiNamir - O ile mi wiadomo, prefiksy dostawców będą nadal obsługiwane, ale w tym czasie nie są już potrzebne. I dziękuję ... Diament przychodzi z zadaniem;) – Oded
- 1. Dlaczego reguły stronicowania CSS3 nie działają?
- 2. Dlaczego CSS3 przejścia na wysokości nie działa
- 3. CSS3 Zaokrąglone i przerywane obramowania?
- 4. CSS3 transformacje i przejścia (Webkit)
- 5. Dlaczego Chrome odcina tekst w układzie wielokolumnowym CSS3?
- 6. Dlaczego migotanie animacji css3 miga w przeglądarce Chrome?
- 7. Dlaczego obraz w tle wyrównany w CSS3 jest wyświetlany w niewłaściwym miejscu?
- 8. Co u licha jest właściwością perspektywy CSS3?
- 9. Jaka jest najlepsza praktyka w zapytaniach o media w CSS3?
- 10. Sprawdź, czy przejście CSS3 jest uruchomione.
- 11. Sprawdź, czy element jest animowany CSS3
- 12. Jaka jest maksymalna precyzja krycia CSS3?
- 13. CSS3: Jak obracać i skalować obraz w tym samym czasie?
- 14. Dlaczego IE10 nie wyświetla zagnieżdżonych elementów 3D przekształconych CSS3?
- 15. CSS3: pusty selektor i nieruchomość treść
- 16. Jaki jest priorytet ~ i dlaczego?
- 17. Przejścia CSS3 chcą dodać kolor i zaniknąć.
- 18. Przejście CSS3 pozostawia ślad
- 19. Jerky CSS3 przejście w Firefox
- 20. CSS3 Przejście nie działa
- 21. Animacja CSS3 Spin
- 22. Pobierz tekst w kolumnie CSS3?
- 23. Opóźnienie: najedź kursorem w CSS3?
- 24. Przejście w CSS3 Łatwość wejścia i wyjścia Box Shadow
- 25. Obsługa modułu CSS3 Layout Przeglądarka
- 26. Co to są moduły CSS3?
- 27. Zablokowany efekt gradientu w CSS3
- 28. Transformacja CSS3: obracanie; w IE9
- 29. Animacja CSS3 w IE8/9
- 30. Przekształcenia CSS3: wiele początków?
Ale wierzę, że oboje mogą zbudować swoje silniki, aby przeanalizować "graniczny promień", tak jak to, co zrobili, aby parsować "-webkit-" lub "-moz-" podaj tag. Silniki mogą ignorować znaczniki lub atrybuty w nim, jeśli nie chcą się z tym obchodzić. Nadal uważam, że istnieje jakiś szczególny powód używania "-webkit-" lub "-moz-" z tagami. –
@Kumaresan, dostawcy nie mogą budować swoich silników, aby akceptować niestandardową składnię do standardowych właściwości. Standardowe właściwości muszą akceptować tylko tę samą składnię we wszystkich przeglądarkach i nie mogą być bardziej tolerancyjne. CSS powinien działać absolutnie równo we wszystkich przeglądarkach: jeśli jakaś składnia działałaby w jednej przeglądarce, ale nie w innej, to nie byłaby standardowa. – zneak
Ale to NIE jest standardowe! I dlatego niepotrzebnie przeskakują przez te wszystkie obręcze. Ponieważ nie jest standardem, po prostu użyj niestandardowego tagu standardowego, a następnie, jeśli/kiedy stanie się standardem ... BOOM: Dobrze nam iść! Programiści powinni wiedzieć, które właściwości są obsługiwane i które nie są pozbawione opcji "specyficznie-specyficznych prefiksów". – Volte