Prefixos de fornecedor em CSS
No passado, surgiu a seguinte situação entre os navegadores: antes que uma propriedade CSS fosse incluída na especificação, os navegadores implementavam uma versão experimental dessa propriedade com um prefixo especial, chamado de prefixo de fornecedor.
Vamos ver como isso funciona usando o exemplo da propriedade
box-sizing:
p {
box-sizing: border-box;
}
Esta propriedade começou a ter suporte apenas a partir do Firefox 29,
mas já estava disponível desde a versão Firefox 2 com o prefixo -moz:
p {
-moz-box-sizing: border-box;
}
Outros navegadores tinham prefixos semelhantes:
-moz - Mozilla Firefox, -webkit
- navegadores baseados nos motores Webkit e Blink, -o
- Opera com o motor Presto, -ms - IE.
Assim, a versão mais compatível com todos os navegadores
da propriedade box-sizing, usando prefixos de fornecedor,
era mais ou menos assim:
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;
}
Atualmente, os navegadores decidiram abandonar os prefixos devido à sua inconveniência. E agora, em seu lugar, são usados os chamados flags. As propriedades agora são implementadas nos navegadores, mas por padrão estão desativadas, podendo ser ativadas nas configurações do navegador, marcando a opção correspondente. Isso foi feito para que os desenvolvedores pudessem experimentar com a nova propriedade antes do seu lançamento oficial.