CSS 背景图拉伸 兼容 FF Chrome IE 等主流浏览器

注:本文欢迎转载,以下为本人亲测,转载请注明:http://blog.csdn.net/wqmain/article/details/8844286


相信各位一定碰到过这种情况,按钮作为DIV的背景图来显示,实际上有多个这样的按钮,而且DIV中的文字,也就是按钮上要显示的文字内容和个数都 不定,这种情况下就需要用背景图片拉伸效果来处理了,只需做一个按钮图片,作为DIV的背景图时随着DIV的宽度或高度自适应就OK了。网上也找过,但不 兼容IE或有bug,下面贴出本人亲测代码,兼容主流浏览器,包括Firefox、Chrome以及 IE 等主流浏览器(IE使用滤镜效果实现):

    .btn_bg {  
        width:150px;  
        height:50px;  
        background-image:url(./btn.png);  
        -moz-background-size: 100% 100%;  
        -o-background-size: 100% 100%;  
        -webkit-background-size: 100% 100%;  
        background-size: 100% 100%;  
        -moz-border-image: url(./btn.png) 0;  
        background-repeat:no-repeat\9;  
        background-image:none\9;  
        filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=‘./btn.png‘, sizingMethod=‘scale‘)\9;  
    }  

定义好上述CSS后,就可以在页面中使用了,例如:

<div class="btn_bg"></div>


.btn_bg样式中:width和height定义了背景图默认的宽高,假如这个不定义并且引用该样式的DIV也不定义宽度,那么背景图的宽度会 拉伸至浏览器的宽度,另外可以指定DIV的宽度来拉伸背景图,如:<div class="btn_bg" style="width:300px"></div>。

细心的你会发现,最后三行代码每行样式后都加了 \9 这是指定在IE8及以下浏览器中的样式。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。