除了分别为每个引擎提供 CSS 之外,似乎没有其他方法可以支持边界半径。现在似乎您必须声明该属性三到四次(如果您想支持更多晦涩的引擎,可能会更多)。

我的临时解决方案是通过这个正则表达式传递我所有的 CSS:

正则表达式:

border(-)?(top|bottom)?(-)?(left|right)?-radius:(.+?);

代替:
-moz-border-radius$1$2$4:$5;
-webkit-border$1$2$3$4-radius:$5;
-khtml-border$1$2$3$4-radius:$5;
border$1$2$3$4-radius:$5;

这将搜索官方 CSS3 选择器的所有实例并将其替换为自身,以及 Mozilla、WebKit 和 KHTML 的引擎特定选择器。

有没有更好的办法?

WebKit 和 Mozilla 计划何时支持 CSS3 选择器? (他们已经?)

最佳答案

它应该是 :

.myClass
{
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

边界半径低于另一个。

为什么 ?因为,现在新的浏览器不再需要他们自己的引擎 hack(例如 firefox 4),他们应该使用他们在 CSS 文件中收到的最后一个命令。这样,圆 Angular 应该 在所有理解 CSS3 规范的浏览器中都相同,并且您不必很快更改您的 CSS。

关于css - 我如何在所有主要的 Web 浏览器上支持 border-radius?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3819923/

10-15 15:44