我想知道这一段时间了。为什么不同的浏览器只支持CSS border-radius属性(如果它带有自己的特殊前缀)。我不明白为什么我要写这个:
/* For Firefox and other Gecko browsers */
-moz-border-radius: 5px;
/* For Chrome/Safari and other Webkit browsers */
-webkit-border-radius: 5px;
/* For others */
border-radius: 5px;
我什么时候写这个:
border-radius: 5px;
我是否有理由要求编写前缀?为什么浏览器都不支持border-radius
属性?这对我来说没有意义,为什么浏览器开发人员决定让所有人都有不同的属性让我的生活更加艰难。它背后有技术或法律原因吗?
答案 0 :(得分:5)
这个问题的答案基本上与此相同:
Why there is -moz-XXX and -webkit-XXX in the CSS3?
“namespacing”允许供应商测试新的酷功能,如果 他们很棒,可以纳入标准。这是 发生了什么[这里]:Mozilla和Webkit团队尝试了很酷 事情,现在他们将成为标准。它没有完成 爱好。
答案 1 :(得分:1)
基本上,生活并不完美。理想的是,它应该是标准化的。处理开发浏览器的各大公司/团体是一个老问题。 W3C试图制定标准,但最终你不能强迫任何人。
请在这个非常相关的SO.programmers页面上阅读更多内容 - https://softwareengineering.stackexchange.com/questions/103048/why-is-it-unrealistic-to-expect-all-browsers-to-support-the-same-standards。关于浏览器/兼容性here,
的更多信息答案 2 :(得分:1)
最终他们都支持标准border-radius
。我明白,当事情在空中达标时,或出于类似的原因,他们会这样做。
(同样,不需要-moz-border-radius
,Gecko现在支持普通的跨浏览器。我相信WebKit也是如此,但我懒得检查。)