1. 云栖社区>
  2. 技术文集>
  3. 列表>
  4. 正文

使用PIE对IE进行CSS3兼容介绍及渲染

作者:用户 来源:互联网 时间:2016-12-07 17:33:29

文件圆角属性元素效果Behavior

使用PIE对IE进行CSS3兼容介绍及渲染 - 摘要: 本文讲的是使用PIE对IE进行CSS3兼容介绍及渲染, IE10 以下版本的浏览器进行部分 CSS3 兼容   主角:PIE.js , PIE.htc  两种方法可以实现 官方网站:http://css3p

IE10 以下版本的浏览器进行部分 CSS3 兼容   主角:PIE.js , PIE.htc  两种方法可以实现
官方网站:http://css3pie.com/   演示地址:http://css3pie.com/demos/gradient-patterns/
重要功能实现:   可以使 IE6、7、8 、9 实现类似 chrome 和 firefox 1.  更自然逼真的阴影效果,不再是以前那种丑陋的滤镜效果。 2.  实现很自然的圆角效果 3.  实现部分 CSS3  的强悍效果,如 多背景图,border-image,更强的背景渐变效果。 4.  png 图片透明效果   使用方法:   1.  .htc 大概是浏览器补丁模式 css中使用behavior 来加载即可自动实现效果,  
  1. #test { 
  2.     border-radius: 3px; 
  3.     behavior: url(PIE.htc); 
  4.  
  5. #test { 
  6.     border-radius: 3px; 
  7.     behavior: url(PIE.htc); 
注意路径,最好是直接使用 URL 的绝对路径,   如果无法显示可能是 服务器端不支持该类型文件格式的解析,可以在服务器配置文件的   mime.types文件的末尾增加一行:text/x-component htc,具体方式请自己 百度 下吧   方法一的总结,我自己最早使用的也就是这个方法,发现时灵时不灵的,很郁闷了好久,而且每个地方都要写,超级麻烦,最后差点都放弃这个插件了,后来发现了方法二。   2.  .js 方式,很灵活,简单   下载并解压缩  http://css3pie.com/download-latest   使用  PIE.js  文件  
  1. <script type="text/javascript" src="PIE.js"></script> 
  2. <script type="text/javascript"> 
  3. PIE.attach(document.getElementById("test")); 
  4. </script> 
  5.  
  6. <script type="text/javascript" src="PIE.js"></script>; 
  7. <script type="text/javascript"> 
  8. PIE.attach(document.getElementById("test")); 
  9. </script> 
最好放在 body 的最下面,这样将其包含到 html 页面后既可以使用

问题说明:    a.IE下这些CSS3效果实现是借助于VML,由VML绘制圆角或是投影效果的容器元素,然后这个容器元素作为目标元素的后兄弟节点插入,如果目标元素position:absolute 或是 position:relative,则这个css3-container元素将会设置与之一样的z-index值,在DOM tree中,同级的元素总是后面的覆盖前面的,所以这样就实现了覆盖,又避免了可能有其他元素正好插入其中。所以,问题来了,如果目前元素的position属性为static,也就是默认属性,则z-index属性是没有用的,无覆盖可言,所以此时IE浏览器下CSS3的渲染是不会成功的。要解决也很简单,设置目标元素position:relative或是设置祖先元素position:relative并赋予一个z-index值(不可为-1)。    b.IE浏览器的behavior 属性是相对于HTML文档而言的,与CSS其他的属性不一样,不是相对于CSS文档而言的。这使得使用pie.htc文件不怎么方变。如果绝对路径于根目录,则CSS文件不方便移动;如果相对路径与HTML文档,则pie.htc文件在不同HTML页面见的重用性大大降低。同时,诸如border-image后面的URL属性路径也不好处理。    c.使用PIE实现IE下的CSS3渲染(其他方法也是一样),只能使用缩写的形式,例如圆角效果,我们可以设置border-top-left-radius表示左上圆角,但是PIE确实不支持这种写法的,只能是老老实实的缩写。   d. 要想让IE浏览器支持htc文件,需要一个有着”text/x-component” 字样的content-type 头部,否则,会忽视behavior。绝大数web服务器提供了正确的content-type,但是还有一部分则有问题。   e.由于某种原因,您无法修改服务器配置(例如公用主机,或是空间服务商提供的服务器),您可以用一个PHP文件来间接调用htc文件。  
  1. <?php  header( 'Content-type: text/x-component' );  include( 'pie.htc' );  ?> 
  通过PHP文件来增加一个含有“text/x-component”字样的Content-type头,同时调用pie.htc文件。需要将pie.php和pie.htc放在同一个文件夹目录下,同时CSS中的behavior写法应该是:  behavior: url(pie.php);

  f.直接对执行过PIE兼容的当前容器进行透明度是没有用的,因为JS会新生成一个自定义标签层叠在下面,可以用下面的步骤实现透明
 CSS 添加  
  1. css3-container { filter:alpha(opacity=98); } 
 JS 添加 
  1. $(‘.test’).prev(‘css3-container’).css({‘filter’:’alpha(opacity=98)’, ‘opacity’:0.98}); 



以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有 的相关内容,欢迎继续使用右上角搜索按钮进行搜索文件 , 圆角 , 属性 , 元素 , 效果 Behavior css3pie ie6、ie8圆角兼容pie插件、ie8兼容css3、ie css3 兼容、ie7 ie8兼容css3动画,以便于您获取更多的相关知识。

报错-我在使用PIE.htc使IE6兼容css3特效时出现object expected错误 具体如下

问题描述 我在使用PIE.htc使IE6兼容css3特效时出现object expected错误 具体如下 错误信息:An Error Has Occurred in the Script on This Pageline:13char:1error:object expectedcode:01-20行代码如下`&lt;!doctype html&gt;首页 &lt;!--[if...

IE7,IE8浏览器CSS实现正圆角效果代码

...有的behavior,本质上还是JS代码。 这里,给大家介绍一个使用纯CSS实现IE7,IE8浏览器正圆角的例子。 二、纯CSS实现IE7,IE8圆角 我们直接看demo,您可以狠狠地点击这里:IE7/IE8浏览器纯CSS实现圆角demo 结果,IE7浏览器下: IE8浏览器下...

做全兼容的ie6圆角和透明图片 2

...到:怎么样给flash传递参数|如何在ie6下面设计出圆角,全兼容的2011-02-11 23:11浏览 879评论(1)论坛回复 / 浏览 (0 / 2185)分类:Web前端相关推荐评论1 楼SpaceKnight2012-08-03  这样实现的圆角,性能非常糟糕。另外,这个HTC有BUG。

总结前端面试过程中最容易出现的问题

...聊聊。可以看下http://www.haorooms.com/post/css3media 三、zepto.js使用过程中有哪些问题。jquerymobile用过吗。会有哪些问题。 用过的话,可以随便聊一下。 加分项 例如,你们聊到数据库,数一下如何用mongo做分页等等,包括mysql数据库...

10个超有用的网页设计工具和资源

...3代码。 Prefixr 自动为你的代码生成CSS3前缀,让你不太为兼容各种浏览器而头疼了。 CSS3 Pie CSS3还有一个头疼的问题就是不能兼容老版本的IE,CSS3 Pie 就是为此而生的,让圆角、阴影、渐变等效果完美兼容IE。 CSS Menu Maker 你不需...

前三篇
后三篇
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一

云服务器9.9元/月,大学必备