border-radius
是一个 CSS3 属性,所以如果你验证为 CSS2,它会报告错误。
-moz-border-radius
并且-webkit-border-radius
是同一属性的“供应商前缀”版本。供应商前缀由浏览器制造商提供给他们已实现的功能,但这些功能要么尚未标准化,要么他们的实现尚未完成。无论哪种方式,它都允许网站设计人员在正式准备好之前使用该功能。
如果您正在设计一个跨浏览器的网站,您需要考虑要包含哪些浏览器。例如,您是否想花时间让它在非常旧的浏览器版本中工作(可能没有人再使用了)?您需要决定支持哪些旧版本。
这是相关的,border-radius
因为当前版本的 Firefox、Chrome 和 Safari 都支持border-radius
没有供应商前缀。事实上,几个版本都不需要供应商前缀,尤其是 Webkit 浏览器。因此,您可能完全有理由删除那些带前缀的声明。您需要检查哪些浏览器的版本需要它们,并决定是否要支持这些浏览器。
另一个需要考虑的因素是,直到最近,IE 才完全不支持border-radius
,甚至不支持供应商前缀。IE9 确实支持它,但大多数 IE 用户仍在运行 IE8。
如果你想border-radius
为 IE 工作,你需要做一些 hack。目前最好的选择是CSS3Pie。您的另一种选择就是忽略它,让 IE 用户保持直角。由于这不会影响您网站的可用性,您可能会认为这是最简单的选择。
所有浏览器和浏览器版本都有自己支持的功能组合。像CanIUse.com这样的网站对于帮助您确定是否使用任何给定功能非常宝贵:它显示了哪些浏览器和版本支持它,让您可以就是否使用它做出明智的决定。
最后,我可以给您的关于制作跨浏览器站点的最重要建议:在所有浏览器以及您想要支持的所有浏览器版本中进行测试。(不要只是假设如果它在一个版本的浏览器中工作,它会在其他版本中工作 - 你需要对它们进行全部测试)。