2010-10-15 124 views
2

如果我的CSS是:CSS自动转换到Mozilla的特定CSS

border-bottom-right-radius: 20px; 

有一个JavaScript库,如果它检测到用户代理是一个Mozilla将其转换为

-moz-border-radius-bottomright: 20px; 
自动

浏览器,例如:Firefox?

+2

难道你们就不能只是指定它们无论是在样式表? – Spudley 2010-10-15 16:24:05

回答

1

为什么不只是添加所有的webkit和mozilla边界声明并完成它。

-webkit-border-radius: 1px; 
-moz-border-radius: 1px; 
border-radius: 1px; 

http://border-radius.com/

+0

因为让css比它需要大3倍是icky。 – 2010-10-18 15:53:37

+0

扩大一个声明不会破坏银行的这样一个小事。 – woodscreative 2010-10-18 16:58:55

1

Modernizr一看。

+0

Eh?这有什么关系? Modernizr检测支持,而不是支持哪个版本的属性。即使如此,你是不是还需要指定'-moz'版本? – 2010-10-15 16:56:20

+0

我不明白这是如何相关的。 – codeinthehole 2010-10-18 23:27:04

2

随着SassCompass你可以使用mixins自动设置浏览器特定的规则。 This是你可能需要的。

还有另一个类似的图书馆 - Less,但我还没有尝试过。

1

这是不是一个JavaScript的解决方案,但LESS CSS可以通过使用 '功能' 实现这一目标。 LESS CSS可以使用Ruby,ASP或PHP。

很快,您将可以在JavaScript中使用LESS。有关信息,请参阅less.js。显然,这将形成LESS 2.0

首先定义你的函数:

@border-radius(@radius:10px) { 
    -webkit-border-radius: @radius; 
    border-radius: @radius; 
    -moz-border-radius: @radius; 
} 

然后引用它:

例如

#some-id { 
    @border-radius; 
} 

#some-id { 
    @border-radius(210px); 
}