Tiền tố nhà cung cấp trong CSS
Trong quá khứ, giữa các trình duyệt đã hình thành tình huống sau đây: trước khi một thuộc tính CSS xuất hiện trong đặc tả kỹ thuật, các trình duyệt đã triển khai phiên bản thử nghiệm của thuộc tính đó với một tiền tố đặc biệt, được gọi là tiền tố nhà cung cấp.
Hãy lấy thuộc tính
box-sizing
làm ví dụ để xem nó trông như thế nào:
p {
box-sizing: border-box;
}
Thuộc tính này chỉ bắt đầu được hỗ trợ từ
Firefox29, tuy nhiên từ phiên bản Firefox2
nó đã có sẵn với tiền tố -moz:
p {
-moz-box-sizing: border-box;
}
Các trình duyệt khác có các tiền tố tương tự:
-moz - Mozilla Firefox, -webkit
- các trình duyệt sử dụng engine Webkit và Blink, -o
- Opera trên engine Presto, -ms - IE.
Do đó, phiên bản thuộc tính box-sizing
đa nền tảng nhất, khi sử dụng
tiền tố nhà cung cấp, có dạng
xấp xỉ như sau:
p {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
-o-box-sizing: border-box;
box-sizing: border-box;
}
Hiện tại, các trình duyệt đã quyết định từ bỏ việc sử dụng tiền tố do sự bất tiện của chúng. Và bây giờ thay vào đó, họ sử dụng cái gọi là cờ. Các thuộc tính giờ đây được triển khai trong trình duyệt, nhưng theo mặc định bị tắt, tuy nhiên chúng có thể được bật trong cài đặt trình duyệt bằng cách đánh dấu vào ô tương ứng trong phần cài đặt. Điều này được thực hiện để các nhà phát triển có cơ hội thử nghiệm với thuộc tính mới trước khi nó xuất hiện chính thức.