如何选择哪个样式定义了特定值的元素?

时间:2013-08-02 08:59:50

标签: jquery

在safari浏览器中,我的背景图像不起作用。当我在safari中检查时,我发现那里的css3 calc()函数不起作用。我用过这样的

width: calc(100% - 345px);
height: calc(100% - 180px);

safari不支持calc()函数吗?如果没有,如何使用jQuery使我的calc()函数起作用。

修改

我在样式表中多次定义了calc()函数。所以我想使用jQuery但如何选择元素哪个值定义为calc()?

假设以下div已经应用了css

div.one{width: 300px;}
div.two{width: 300px;}
div.three{width: 200px;}

如何选择宽度定义为300px的那些div?

2 个答案:

答案 0 :(得分:0)

使用此

$('selector').css('width', '100%').css('width', '-=345px');
$('selector').css('width', '100%').css('width', '-=180px');

答案 1 :(得分:0)

在这种情况下,听起来您使用的浏览器版本不支持您正在使用的功能。

在决定是否使用给定功能时,您应该在CanIUse网站上检查浏览器兼容性。这还将告诉您是否需要使用供应商前缀,以及该功能的任何已知问题。

请注意,即使特定浏览器功能在您的浏览器中有效,您也需要考虑最终用户 - 使用CanIUse网站检查您需要支持的所有浏览器和版本的支持。您还应该在各种浏览器和浏览器版本中测试您的网站。

对于calc(),您可以考虑使用this polyfillcalc()功能反向移植到不支持它的旧浏览器中。