到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的效果难称完美,但在一些情况下,运用这些技术能够让我们的代码更为简洁和统一。

猜你喜欢
联络方式:
深圳 · 龙岗 · 大运软件小镇22栋302-308
电话:400 1828 580
邮箱:szhulian@qq.com



-
是时候跟http说再见了,https是趋势
为保证数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用。避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用
-
开源软件原来都这样命名的!
如我们平常所看到的品牌名称一样,例如“Kleenex”或“百事可乐”,开源世界也拥有自己独特的名称,这些名称背后真正的起源,我们通常并不在意。
-
logo设计规范 logo设计原则有哪些?
每一个品牌或商标都有一个属于自己的logo,logo可以分为文字logo、图形logo、图像logo等,那么logo设计规范怎么样呢?logo设计原则有哪些?下面小编给大家整理的关于logo设计的相关内容,希望能够对大家有所帮助!
-
App开发中在vue中怎么定义自定义组件?
在vue中怎么定义自定义组件?下面本篇文章给大家介绍一下在vue中定义(创建)自定义组件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助...
-
对网站优化能够产生助力你知道吗?
现在很多网站花了钱做搜索引擎等竞价排名,然而却没有任何转化量,网站有流量但无人咨询,费用这么高的流量倘若在没有任何转化那就更冤枉了。建设网站既要美观大气也要利于优化排名...