为什么CSS属性对Chrome,FF,Opera有不同的名称?

ano*_*ous 5 css firefox opera w3c google-chrome

我想在div下面有一个名为"shadow"的阴影:

#shadow { box-shadow: 1px 1px 1px #000 };
Run Code Online (Sandbox Code Playgroud)

完成了吗?

一点也不.它只在一个浏览器中工作.猜猜哪一个.

对于FF/Chrome,我必须添加不太直观:

-moz-box-shadow: 1px 1px 1px #000;
-webkit-box-shadow: 1px 1px 1px #000;
Run Code Online (Sandbox Code Playgroud)

现在一切都好.此方案适用于许多CSS属性.为什么?

幸运的是,没有-webkit-border,moz-font或-ie-backgroundcolor.

PS.是的,没有关于IE的单词.将这个称为浏览器就像将轮椅与摩德纳汽车进行比较.

PS 2.为什么我的帖子下面的Google Chrome标签旁边有徽标?或者为什么Opera&FF没有标识?

Via*_*zen 2

这是浏览器在 CSS 规范获得完全批准之前发布功能的一种方式。

\n\n

例如,看看 CSS3 渐变。-moz- 与 -webkit- 完全不同。

\n\n
background-image: -webkit-gradient(\n    linear,\n    left bottom,\n    left top,\n    color-stop(0.15, rgb(145,4,88)),\n    color-stop(0.58, rgb(174,30,115)),\n    color-stop(0.79, rgb(209,57,150))\n);\nbackground-image: -moz-linear-gradient(\n    center bottom,\n    rgb(145,4,88) 15%,\n    rgb(174,30,115) 58%,\n    rgb(209,57,150) 79%\n);\n
Run Code Online (Sandbox Code Playgroud)\n\n

这可能感兴趣:http://www.alistapart.com/articles/prefix-or-posthack/

\n\n
\n

因此,下次当您发现自己抱怨要对同一件事声明四次(每个浏览器声明一次)时,请记住,这种痛苦是暂时的。它\xe2\x80\x99有点像\n疫苗\xe2\x80\x94,确实,注射现在很痛,但\n它\xe2\x80\x99与它预防的疾病相比,确实没有那么糟糕。在这种情况下,您\xe2\x80\x99正在接种\n疫苗,以应对多年\n解析器黑客攻击和浏览器嗅探的不良情况。\n我们已经经历过这种长期瘟疫\n一次。如果使用得当,前缀将在未来很长一段时间内防止再次爆发。

\n
\n\n

注意:最好包含不带前缀的版本,以便在完全采用该属性时继续站点功能。

\n