如何使用modernizr进行边界图像

时间:2015-08-07 08:03:20

标签: css internet-explorer-10 modernizr border-image

我需要支持IE10并在我的CSS上使用IE10上的border-image< 1>不受支持。我的modernizr已经支持border-image,但我无法理解如何在课堂上使用它。例如,如果我有一个像

这样的类
 .funz__box { border-style: solid;
 border-width: 30px 30px 30px 25px;
 -moz-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
 -webkit-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
 -o-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
 border-image: url(../i/tmp/border_funz.png) 30 30 30 25 fill; }

为了支持IE 10,我只需要创建一个类:

.no-borderimage .funz__box { /* my stile */ }

或者我还有什么别的吗?

2 个答案:

答案 0 :(得分:1)

这是 JQuery

的简单示例

CSS:

.borderimage_class{
    border-style: solid;
    border-width: 30px 30px 30px 25px;
    -moz-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
    -webkit-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
    -o-border-image: url(../i/tmp/border_funz.png) 30 30 30 25;
    border-image: url(../i/tmp/border_funz.png) 30 30 30 25 fill;
}

.no_borderimage_class{
    //styles
}

JS:

if(Modernizr.borderimage){
    //true - supports
    $('.some_element_class').addClass('borderimage_class');
}
else{
    //false - doesn't support
    $('.some_element_class').addClass('no_borderimage_class');
}

JSFiddle - <p>根据borderimage支持更改颜色。在IE10和支持borderimage的其他浏览器中进行测试,您将看到更改。

答案 1 :(得分:0)

您根本不需要触摸JQuery - 您可以在CSS中完成所有操作,只需要在想要设置样式之前添加.borderimage.no-borderimage。例如:

.borderimage #header_right{ 
//the CSS you want to apply to element ID header_right when border-image IS supported 
}

.no-borderimage #header_right{ 
//the CSS you want to apply to element ID header_right when border-image is NOT supported 
}

.no-borderimage #header_logo{ 
//some more CSS that I only want applied to element ID header_logo when border-image is NOT supported 
}

我刚刚在我的网站上使用过它,效果很好