Search

与我们合作

我们专注:网站策划设计、网络多媒体传播、网站优化及网站营销、品牌策略与设计
主营业务:网站建设、移动端微信小程序开发、VI设计、网络运营、云产品·运维解决方案

有一个品牌项目想和我们谈谈吗?

您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与您取得联系。当然也欢迎您给我们写信或是打电话,让我们听到您的声音

您也可通过下列途径与我们取得联系:

地 址: 深圳.龙岗区大运软件小镇11栋3楼

电 话: 138 2888 4598 / 138 0880 9053

网 址: http://www.appvx.cn

快速提交您的需求 ↓

IE中的CSS3不完全兼容解决方案

时间:2016-12-05 浏览:4942 编辑:网站程序员永胜 来源:红黑联盟

到Internet Explorer 8为止,IE系列是不支持CSS3的。在IE中要做一些常用的效果如圆角、阴影,就需要用一些冗余而无意义的元素和图片来做出这些效果。在厌倦这些后,就 想着用更为简洁、直接有效、CSS3式的办法来解决这些问题。好在就算是饱受批评的Internet Explorer,其本身也是足够强大的。IE特有的技术可以很好的实现一些CSS3的效果。


Opacity透明度

元素的透明度在IE中可以很方便的用滤镜来实现。

background-color:green;

opacity: .4;

filter:progid:DXImageTransform.Microsoft.alpha(opacity=40);

这里半透明区域

opacity: .4;

filter:alpha(opacity=40);

border-radius圆角/Box Shadow盒阴影/Text Shadow文字阴影

在IE中可以利用Vector Markup Language (VML)和javascript来实现这些效果,参见IE-CSS3,在引用了一个HTC文件后,在IE浏览器中就可以使用这三种CSS3属性了。

-moz-border-radius: 15px; 

-webkit-border-radius: 15px; 

border-radius: 15px; 

-moz-box-shadow: 5px 5px 5px #000; 

-webkit-box-shadow: 5px 5px 5px #000; 

box-shadow: 5px 5px 50px #000; 

behavior: url(ie-css3.htc); 

实际上,在IE中有滤镜来实现阴影(shadow)和投影(drop-shadow)效果的

shadow会产生连续、渐变的阴影

filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=10);

drop-shadow产生的阴影没有明暗变化

filter:progid:DXImageTransform.Microsoft.DropShadow(Color="#6699CC",OffX="5",OffY="5",Positive="1");

滤镜似乎和现有的htc脚本有冲突,或者可以称之为特性:两者同时在一个元素上启用的时候,滤镜效果会转移到其子元素上


Gradients渐变

IE中提供了一个简单的渐变滤镜

background-image: -moz-linear-gradient(top, #444444, #999999); 

background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); 

filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#444444', EndColorStr='#999999'); 


RGBA透明度颜色背景

渐变滤镜支持RGBA的颜色,startColorStr和EndColorStr的前两位是Alpha通道值。使用带alpha通道来模拟RGBA颜色背景的同时,应该去掉其background-color属性。

background-color: rgba(0, 255, 0, 0.6); 

filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#9900FF00',EndColorStr='#9900FF00'); 

Multiple Backgrounds多重背景图片。

支持CSS3多重背景图片的浏览器中可以用下面的语句来实现背景多重图片:

background: url(bg-image-1.gif) center center no-repeat, url(bg-image-2.gif) top left;

要在IE中实现多背景图片,在需要在单独的IE hack样式表中加入下面的代码:

background: transparent url(bg-image-1.gif) top left repeat;

filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='bg-image-2.gif', sizingMethod='crop'); 

CSS3浏览器的多重背景

IE的多重背景

Tranformations/rotate旋转元素

IE中有两个滤镜可以实现元素的旋转,BasicImage和Matrix,前者简单方便但是只能做90*n(n∈{1,2,3,4})度的旋转;Matrix滤镜功能强大,但是参数复杂。

-moz-transform: rotate(180deg);  

-o-transform: rotate(180deg);  

-webkit-transform: rotate(180deg);        

filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);

filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',M11=-1,M12=-1.2246063538223772e-16, M21=1.2246063538223772e-16, M22=-1);

浏览器标准

@font-face服务器端字体

考虑到汉字字体的尺寸,这个CSS3的特性不算实用

font-family:'webFont';

src:url('myfont.eot');

src:local('fontname'),

url('myfont.woff') format('woff'),

url('myfont.ttf') format('truetype');

字体声明并引用了以后,可以在网页的其他地方用font-family使用这一字体。

可以在同一个元素上启用多个滤镜,如:

filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=5)progid:DXImageTransform.Microsoft.Alpha(opacity=40);

虽然一些用滤镜模仿CSS3的效果难称完美,但在一些情况下,运用这些技术能够让我们的代码更为简洁和统一。

本站文章均为深正网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,但谢绝直接搬砖和抄袭!感谢...
GO 欣赏案例
查看经典案例
在线咨询
电话咨询
0755-36630177
返回顶部
在线咨询 获取报价 电话咨询
获取报价
您的称呼:

*

您的电话:

*

您的邮箱:

*

提交 重置
重要的事情,电话里聊

接通客服

不方便的时候线上咨询,在线等哦