Apakah ada alasan yang sah untuk browser untuk awalan fitur CSS baru, daripada membiarkan webmaster menggunakan versi yang tidak diawali?
Misalnya, kode sampel untuk gradien latar belakang terlihat seperti:
#arbitrary-stops {
/* fallback DIY*/
/* Safari 4-5, Chrome 1-9 */
background: -webkit-gradient(linear, left top, right top, from(#2F2727), color-stop(0.05, #1a82f7), color-stop(0.5, #2F2727), color-stop(0.95, #1a82f7), to(#2F2727));
/* Safari 5.1+, Chrome 10+ */
background: -webkit-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* Firefox 3.6+ */
background: -moz-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* IE 10 */
background: -ms-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
/* Opera 11.10+ */
background: -o-linear-gradient(left, #2F2727, #1a82f7 5%, #2F2727, #1a82f7 95%, #2F2727);
}
Apa gunanya memaksa webmaster menyalin-menempelkan kode yang sama empat kali untuk mendapatkan hasil yang sama?
Catatan: salah satu alasan yang sering dikutip adalah bahwa gaya awalan dimaksudkan untuk sementara sementara browser tidak mengimplementasikan spesifikasi dengan benar, atau spesifikasi tidak definitif .
IMO, alasan ini tidak masuk akal:
- Jika mesin peramban tidak mengimplementasikan spesifikasi dengan benar, peramban tidak akan patuh, tidak peduli apakah itu tidak menerapkannya dalam bentuk yang tidak diawali atau tidak mengimplementasikannya dalam bentuk yang diawali.
- Jika spec tidak definitif, mungkin penting ketika ada implementasi sebelumnya dengan nama yang sama. Misalnya jika CSS2 memiliki
linear-gradient
, tetapi CSS3 dimaksudkan untuk memperluaslinear-gradient
dengan fitur tambahan, itu akan pintar untuk awalan sementara yang baru, rancangan, implementasi dengan-css3-<style>
membedakan antara yang bekerja CSS2, dan yang eksperimental CSS3. Dalam praktiknya, CSS2 tidak memilikilinear-gradient
atau hal baru CSS3 lainnya.
Saya juga akan mengerti jika browser yang berbeda memiliki format implementasi yang berbeda : misalnya katakanlah Firefox diperlukan, untuk bayangan teks <weight-of-shadow distance-x distance-y color>
,, sementara Chrome diperlukan <distance-x distance-y weight-of-shadow color>
. Tetapi sebenarnya, ini bukan masalahnya; setidaknya semua fitur baru CSS3 yang saya gunakan sejauh ini memiliki format yang sama.
If the browser engine does not implement the spec correctly, the browser will not be compliant
- Selamat datang di Dunia Nyata. ™