让IE支持CSS3的不完全兼容方案
到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);
border-radius圆角/Box Shadow盒阴影/Text Shadow文字阴影
在IE中可以利用Vector Markup Language (VML)和javascript来实现这些效果,,在引用了一个HTC文件后,在IE浏览器中就可以使用这三种CSS3属性了。
复制代码代码如下:
-moz-border-radius: 15px; /* Firefox */
-webkit-border-radius: 15px; /* Safari 、Chrome */
border-radius: 15px; /* Opera 10.5+, IE6+ 使用 IE-CSS3*/
-moz-box-shadow: 5px 5px 5px #000; /* Firefox */
-webkit-box-shadow: 5px 5px 5px #000; /* Safari、Chrome */
box-shadow: 5px 5px 50px #000; /* Opera 10.5+,IE6+ 使用 IE-CSS3 */
behavior: url(ie-css3.htc); /*引用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); /* FF3.6 */
background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #444444),color-stop(1, #999999)); /* Saf4+, Chrome */
filter: progid:DXImageTransform.Microsoft.gradient(startColorStr=’#444444’, EndColorStr=’#999999’); /* IE6+ */
在实现IE中的渐变很简单
RGBA透明度颜色背景
渐变滤镜支持RGBA的颜色,startColorStr和EndColorStr的前两位是Alpha通道值。使用带alpha通道来模拟RGBA颜色背景的同时,应该去掉其background-color属性。
复制代码代码如下:
background-color: rgba(0, 255, 0, 0.6); /* FF3+, Saf3+,Opera 10.10+, Chrome */
filter:progid:DXImageTransform.Microsoft.gradient(startColorStr=’#9900FF00’,EndColorStr=’#9900FF00’); /* IE6+*/
Multiple Backgrounds多重背景图片
支持CSS3多重背景图片的浏览器中可以用下面的语句来实现背景多重图片:
复制代码代码如下:
background: url(bg-image-1.webp) center center no-repeat, url(bg-image-2.webp) top left;
要在IE中实现多背景图片,在需要在单独的IE hack样式表中加入下面的代码:
复制代码代码如下:
background: transparent url(bg-image-1.webp) top left repeat;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src=’bg-image-2.webp’, sizingMethod=’crop’); /* IE6+ */
CSS3浏览器的多重背景
IE的多重背景
Tranformations/rotate旋转元素
IE中有两个滤镜可以实现元素的旋转,BasicImage和Matrix,前者简单方便但是只能做90*n(n{1,2,3,4})度的旋转;Matrix滤镜功能强大,但是参数复杂。
复制代码代码如下:
-moz-transform: rotate(180deg); /* FF3.5+ */
-o-transform: rotate(180deg); /* Opera 10.5 */
-webkit-transform: rotate(180deg); /* Saf3.1+, Chrome */
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’);/*IE6+*/
src:local(’fontname’),/*字体名称*/
url(’myfont.woff’) format(’woff’),/*FF3.6*/
url(’myfont.ttf’) format(’truetype’);/*saf3+,chrome,FF3.5,opera10+*/
字体声明并引用了以后,可以在网页的其他地方用font-family使用这一字体。
可以在同一个元素上启用多个滤镜,如:
复制代码代码如下:
filter: progid:DXImageTransform.Microsoft.Shadow(color=’#000000’, Direction=145, Strength=5)progid:DXImageTransform.Microsoft.Alpha(opacity=40);
虽然一些用滤镜模仿CSS3的效果难称完美,但在一些情况下,运用这些技术能够让我们的代码更为简洁和统一
相关内容
-
ie与session丢失(新窗口cookie丢失)实测及解决
ie与session丢失(新窗口cookie丢失)实测及解决方案,丢失,新窗...
-
IE8采用多兼容模式正常显示网页
IE8采用多兼容模式正常显示网页,网页,兼容模式,浏览器,模式,...
-
ie10 css hack 条件注释等兼容方式整理
ie10 css hack 条件注释等兼容方式整理,注释,条件,支持,方法,...
-
div+css学习笔记(IE与fox好多不兼容的问题)
div+css学习笔记(IE与fox好多不兼容的问题),不兼容,滤镜,属性...
-
WIN7操作系统下做好IE6,IE7的兼容性测试
WIN7操作系统下做好IE6,IE7的兼容性测试,兼容性测试,版本,安...
-
IE6不兼容position:fixed属性的解决办法分享
IE6不兼容position:fixed属性的解决办法分享,属性,位置,模拟,...
-
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、
jQuery实现简单网页遮罩层/弹出层效果兼容IE6、IE7,弹出层,兼...
-
IE7或者IE8全屏解决方案
IE7或者IE8全屏解决方案,全屏,启用,工具,解决方案,窗口,选项,...
-
微软从明年1月12日起停止对IE6-IE8浏览器提供技
微软从明年1月12日起停止对IE6-IE8浏览器提供技术支持,技术支...
-
原生js方法document.getElementsByClassName在i
原生js方法document.getElementsByClassName在ie8及其以下的...
-
兼容IE和FF的单行溢出文本显示省略号
兼容IE和FF的单行溢出文本显示省略号,溢出,省略号,兼容,文本,...
-
帝国CMS后台fckeditor编辑器兼容IE10的方法汇总
帝国CMS后台fckeditor编辑器兼容IE10的方法汇总,兼容,方法,编...
-
css FF与IE兼容性总结
css FF与IE兼容性总结,问题大全,方法,常见,兼容性,设置,撑开,...
-
修复网页在IE8 下的显示兼容问题
修复网页在IE8 下的显示兼容问题,网页,显示,修复,重写,兼容问...
-
IE8兼容视图(IE7 mode)与独立IE7的区别详解
IE8兼容视图(IE7 mode)与独立IE7的区别详解,视图,兼容,浏览器...