关闭

IE中的CSS3不完全兼容方案

330人阅读 评论(0) 收藏 举报
分类:


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

Opacity透明度

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

1 background-color:green;
2 opacity: .4;
3 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属性了。

1 -moz-border-radius: 15px; /* Firefox */
2 -webkit-border-radius: 15px; /* Safari 、Chrome */
3 border-radius: 15px; /* Opera 10.5+, IE6+ 使用 IE-CSS3*/
4 -moz-box-shadow: 5px 5px 5px #000;/* Firefox */
5 -webkit-box-shadow: 5px 5px 5px #000;/* Safari、Chrome */
6 box-shadow: 5px 5px 50px #000;/* Opera 10.5+,IE6+ 使用 IE-CSS3 */
7 behavior: url(ie-css3.htc); /*引用ie-css3.htc */

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

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

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

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

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

 

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

Gradients渐变

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

1 background-image: -moz-linear-gradient(top,#444444, #999999);/* FF3.6 */
2 background-image: -webkit-gradient(linear,lefttop,leftbottom,color-stop(0,#444444),color-stop(1,#999999)); /* Saf4+, Chrome */
3 filter:  progid:DXImageTransform.Microsoft.gradient(startColorStr='#444444', EndColorStr='#999999');/* IE6+ */

在实现IE中的渐变很简单

RGBA透明度颜色背景

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

1 background-color: rgba(0,255, 0,0.6); /* FF3+, Saf3+,Opera 10.10+, Chrome */
2 filter:progid:DXImageTransform.Microsoft.gradient(startColorStr='#9900FF00',EndColorStr='#9900FF00');/* IE6+*/

Multiple Backgrounds多重背景图片

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

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

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

1 background:transparent url(bg-image-1.gif)top left repeat;
2 filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='bg-image-2.gif', sizingMethod='crop');/* IE6+ */

CSS3浏览器的多重背景

IE的多重背景

Tranformations/rotate旋转元素

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

1 -moz-transform: rotate(180deg); /* FF3.5+ */
2 -o-transform: rotate(180deg); /* Opera 10.5 */
3 -webkit-transform: rotate(180deg); /* Saf3.1+, Chrome */
4  
5 filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
6 filter:progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand',M11=-1, M12=-1.2246063538223772e-16, M21=1.2246063538223772e-16, M22=-1);

旋转也很简单

@font-face服务器端字体

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

1 font-family:'webFont';
2 src:url('myfont.eot');/*IE6+*/
3  
4 src:local('fontname'),/*字体名称*/
5 url('myfont.woff')format('woff'),/*FF3.6*/
6 url('myfont.ttf')format('truetype');/*saf3+,chrome,FF3.5,opera10+*/

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

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

1 filter: progid:DXImageTransform.Microsoft.Shadow(color='#000000', Direction=145, Strength=5)progid:DXImageTransform.Microsoft.Alpha(opacity=40);
0
0
查看评论

IE中的CSS3不完全兼容方案

到Internet Explorer 8为止,IE系列是不支持CSS3的。在IE中要做一些常用的效果如圆角、阴影,就需要用一些冗余而无意义的元素和图片来做出这些效果。在厌倦这些后,就想着用更为简洁、直接有效、CSS3式的办法来解决这些问题。好在就算是饱受批评的Internet Explorer,其本...
  • shitouPlus
  • shitouPlus
  • 2015-11-05 18:00
  • 241

IE中CSS3不完全兼容方案

转自:http://whosemind.net/content/ie%E4%B8%AD%E7%9A%84css3%E4%B8%8D%E5%AE%8C%E5%85%A8%E5%85%BC%E5%AE%B9%E6%96%B9%E6%A1%88 到Internet Explorer 8为止,IE系列...
  • ClerverCC
  • ClerverCC
  • 2017-02-15 20:23
  • 242

CSS3中各个浏览器内核兼容的设置

CSS3中-moz、-ms、-webkit和-o分别代表什么意思 1、-moz-:代表FireFox浏览器私有属性 2、-ms-:代表IE浏览器私有属性 3、-webkit-:代表safari、chrome浏览器私有属性 4、-o-:代表opera浏览器私有属性
  • qq_27918787
  • qq_27918787
  • 2016-10-06 15:30
  • 5598

Html Css/css3兼容性总结(兼容主流浏览器包括Ie6)

1. 360以极速模式打开网页: 默认用急速内核,增加标签:   默认用ie兼容内核,增加标签: 默认用ie标准内核,增加标签: 2. CSS3选择器 :nth-child(2n)兼容性 解决:ie8及以下   .list li:nth-child(4n...
  • cddcj
  • cddcj
  • 2016-08-04 17:20
  • 695

IE下兼容CSS3属性(或IE兼容box-shadow)方法

本文主要讲述IE下兼容CSS3属性的方法,问题来源于我想要在IE下用box-shadow这个属性做阴影,所以会主要围绕box-shadow来讲。 第一种:如果我们想要在IE下兼容CSS3的属性可以使用ie.css3-htc,不过按照网上给出的解释是只能兼容部分的属性。 下面我们来看用法和例子 ...
  • liona_koukou
  • liona_koukou
  • 2016-09-07 11:44
  • 4656

让IE9以下的浏览器支持圆角及CSS3新特性

在网上有同学问我:如何在IE9以下版本的浏览器支持圆角的特性。为了让大家在以后的工作中能够更快、更有效的解决这种问题,现在把一种最简单、最有效的解决方案总结给大家,希望能够帮助到你!【就两步搞定!】 第一步:下载一个重要的文件   ie-css3.htc,这种类型的文件只要IE...
  • lxcao
  • lxcao
  • 2016-11-16 22:01
  • 2321

css3pie 解决IE下CSS3的兼容性问题

对于前段工程师最头疼的莫过于调试IE了,对于HTML5的一些属性,只有IE8以上才部分支持。但是现在许多用户还在使用IE6,IE7。怎么去解决在IE下CSS属性不兼容性问题呢?今天这篇文章向大家推荐一款非常优秀的CSS3工具——css3pie。 官网:http://css3pie.com/ PI...
  • wangshu696
  • wangshu696
  • 2015-03-24 16:36
  • 871

让IE6/IE7/IE8支持CSS3的8种方法

我们都知道,IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的进步的。都目前为止,有不少可以让IE支持部分CSS3属性的工具。例如: 1. Dean Edwar...
  • debugingstudy
  • debugingstudy
  • 2013-09-23 02:16
  • 28029

IE浏览器兼容CSS3新属性border-radius

使用PIE对IE进行CSS3兼容介绍及渲染 重要功能实现:   可以使 IE6、7、8 、9 实现类似 chrome 和 firefox  1.  更自然逼真的阴影效果,不再是以前那种丑陋的滤镜效果。  2.  实现很自然的圆角效果 ...
  • oo191416903
  • oo191416903
  • 2017-03-21 11:47
  • 5073

css3兼容IE8的方案 各个ie的hack

虽然现在很多项目已经对低版本IE不要求了,但是还有部分公司对IE8还是很执着的,咱作为屌丝前端程序员不能和老板说前端潮流,不能说趋势,只能动脑子了,下面就分享一些css3兼容ie8的方案思路。主要是实现弯道超车。 比如css3的nth-child选择器,它有多好用就不解析了,问题它不兼容ie8,怎...
  • maoguiyou
  • maoguiyou
  • 2016-03-03 10:05
  • 6465
    个人资料
    • 访问:414601次
    • 积分:4693
    • 等级:
    • 排名:第7368名
    • 原创:105篇
    • 转载:118篇
    • 译文:0篇
    • 评论:50条
    最新评论