PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)
http://www.360doc.com/content/12/1214/09/11181348_253939277.shtml
PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)
一、PIE之简述
我们都知道,IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的进步的。都目前为止,有不少可以让IE支持部分CSS3属性的工具。例如: 1. Dean Edwards的IE7.js (以及 IE8.js, IE9.js) 2. Aaron Gustafson的 eCSStender 3. Drew Diller的 DD_roundies 4. Remiz Rahnas的border-radius.htc 5. Nick Fetchak的 ie-css3.htc 6. Keith Clark的ie-css3.js 7. zoltandulac的cssSandpaper 而本文要展示的这个方法名为PIE,在白云黄鹤BBS上有个pie版,就是一个专门征婚,征男女朋友,征K歌,旅游玩版的版块。所以pie有寻找朋友之意,显然,在这里这样解释有些牵强,还有种说法,说PIE有“工艺整合工程师或者制程整合工程师”的意思(Process Integration Engineer),这种解释似乎更为贴切,整合一些CSS3属性使IE浏览器得以支持。恩恩…… 这里PIE实际上是指的是一个名为pie的htc文件,即pie.htc,使用CSS的behavior行为,可以调用此文件,然后让IE也能实现一些常见的CSS3效果,如圆角(border-radius),盒阴影(box-shadow),背景渐变(gradient),多图片背景(multiple background images)。具体如何使用,都有哪些效果呢?不要走开,广告之后,马上回来!…… (广告开始……护舒宝……妇炎洁……维达纸巾……脑白金……XXX点读机……霸王生发液……广告结束) 二、效果预览、综合demo以及源文件下载您可以狠狠地点击这里:控制面板综合demo 下为IE7浏览器下该面板及效果截图,您可以修改上面的参数以动态查看效果: 例如,修改渐变的起始颜色为红色,结果如下图所示: 下载 三、PIE支持的主要CSS3属性详解PIE方法的使用与平时我们使用CSS3属性一样,基本上没有什么特殊的样式名称,只要链接pie.htc文件即可。 1. border-radius圆角 CSS代码如下: .pie_radius{
相应的html代码如下: <div class="pie_radius"></div> 结果在IE6浏览器下的效果如下截图: 您可以狠狠地点击这里:PIE使IE实现CSS3圆角demo 2. box-shadow 盒阴影 CSS代码如下: .pie_box_shadow{
相应的HTML代码如下: <div class="pie_box_shadow"></div> 结果在IE7浏览器下的效果如下: 您可以狠狠地点击这里:PIE使IE实现CSS3盒阴影效果demo 3. gradient渐变 如果使用PIE实现IE饿渐变背景,该如何呢?需要用到一个自定义的CSS属性,-pie-background,后面的写法与火狐浏览器类似。CSS部分代码如下: .pie_gradient{
相应的html代码如下: <div class="pie_gradient"></div> 结果如下图(截自IE8浏览器): 您可以狠狠地点击这里:PIE使IE实现CSS3渐变背景色效果demo 4. multiple background images多背景 四、已知的一些问题此方法并不是万能的,也有一些局限性和需要注意的地方。 1. z-index相关问题 所以,问题来了,如果目前元素的position属性为static,也就是默认属性,则z-index属性是没有用的,无覆盖可言,所以此时IE浏览器下CSS3的渲染是不会成功的。要解决也很简单,设置目标元素position:relative或是设置祖先元素position:relative并赋予一个z-index值(不可为-1)。 2. 相当路径的问题 3. 缩写的问题 4. 提供正确的Content-Type 如果您发现在您的机子上PIE方法无效,也就是htc文件这里指pie.htc文件无效,检查您的服务器配置,可能其需要更新到最新的content-type。例如对于Apache,您可以在.htaccess文件中左如下处理: AddType text/x-component .htc 但是,由于某种原因,您无法修改服务器配置(例如公用主机,或是空间服务商提供的服务器),您可以用一个PHP文件来间接调用htc文件。我只要给你看下这个PHP文件的代码您就知道什么意思了,如下: <?php 通过PHP文件来增加一个含有“text/x-component”字样的Content-type头,同时调用pie.htc文件。 关于上面所示的php文件,您可以狠狠地点击这里:pie.php(右键 – [目标|链接另存为]),或者您可以直接新建一个php文件,把上面的两行代码复制进去。或者在本文提供的原始打包资源的wrappers文件夹里面也有此php文件,不过名称是大写的。
如果您使用上述php文件,您需要将pie.php和pie.htc放在同一个文件夹目录下,同时CSS中的behavior写法应该是: behavior: url(pie.php); 以上为一些常见的主要的问题,当然,在复杂的页面情况下,还会有其他意想不到的情况,这里,我只能祝您好运了! 原创文章,转载请注明来自张鑫旭-鑫空间-鑫生活[http://www.zhangxinxu.com] |
PIE使IE浏览器支持CSS3属性(圆角、阴影、渐变)的更多相关文章
- 让IE6/IE7/IE8浏览器支持CSS3属性
让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...
- (转)让IE6/IE7/IE8浏览器支持CSS3属性
原文链接 http://blog.csdn.net/h5_queenstyle12/article/details/50437442 一.下载 搜索下载:ie-css3.htc,它是让IE浏览器支持C ...
- 高性能封装检测浏览器支持css3属性函数
css3出来已经很久了,现在来谈判断浏览器是否支持某个css3的属性虽说有点过时了,但是还是可以谈谈的,然后,此篇主要谈的不是判断是否支持,而是怎么封装更好,为什么这么封装,欢迎吐槽. 入题,判断浏览 ...
- javascript判断浏览器支持CSS3属性
function getsupportedprop(proparray){ var root=document.documentElement; //reference root element of ...
- 让IE6IE7IE8支持CSS3属性的8种方法介绍
我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...
- 让IE6/IE7/IE8支持CSS3属性的8种方法介绍
我们都知道,IE浏览器暂不支持CSS3的一些属性.国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的 ...
- 如何让IE 低版本下支持 css3属性
依赖源 该文件为 ie-css3.htc (特别提示.htc为二进制文件,只会在ie中识别,让IE浏览器支持CSS3的一些属性) 以下为依赖文件源码 通过源码我们可以看到 该文件在一定程度上 ...
- IE6-8支持css3属性
方法一.让IE6-8支持css3属性 <!--[if lt IE 9]> <script src="https://oss.maxcdn.com/libs/html5shi ...
- 让IE浏览器支持CSS3圆角属性的方法
绘出圆角: 1.下载一个压缩包,里面有一个微软的脚本文件(11KB)和一个用来测试服务器是否有正确的Content-Type的HTML文件:iecss3.rar:.htc 文件是IE内核支持Web行为 ...
随机推荐
- 标准模板库(STL)学习指南之set集合
set是关联容器.其键值就是实值,实值就是键值,不可以有重复,所以我们不能通过set的迭代器来改变set的元素的值,set拥有和list相同的特性:当对他进行插入和删除操作的时候,操作之前的迭代器依然 ...
- oracle隐含参数的查看与修改
v$parameter视图中查询参数的时候其实都是通过x$ksppi和x$ksppcv这两个内部视图中得到的. 1. 可以通过如下方式查询当前实例的所有隐含参数: col name for a30 ...
- 使用PowerShell创建Azure Storage的SAS Token访问Azure Blob文件
Azure的存储包含Storage Account.Container.Blob等具体的关系如下: 我们常用的blob存储,存放在Storage Account的Container里面. 目前有三种方 ...
- spark提交模式
spark基本的提交语句: ./bin/spark-submit \ --class <main-class> \ --master <master-url> \ --depl ...
- Python selenium 三种等待方法
1. 强制等待 sleep(xx) 是最简单粗暴的一种办法,不管你浏览器是否加载完了,程序都得等待3秒,3秒一到,继续执行下面的代码,作为调试很有用,不建议总用这种等待方式,严重影响程序执行速度. 代 ...
- Guice 学习
Guice: 是一个轻量级的DI框架. 不需要繁琐的配置,只需要定义一个Module来表述接口和实现类,以及父类和子类之间的关联关系的绑定,如下是一个例子. http://blog.csdn.net/ ...
- 忘记mysql密码,但是可以用navicat修改MySQL密码
1.首先:要知道你的账户 2.打开可以连接的navicat,在查询语句页面,输入以下操作,就可以修改成功密码了
- github 分支操作
1.查看分支 1.查看本地分支 使用git branch命令,如下: $ git branch * master *标识的是你当前所在的分支. 2.查看远程分支 命令如下: git branch -r ...
- UVa 11020 Efficient Solutions (BST)
题意:给按顺序给定 n 个人群,用x和y来描述,如果有没有任何一个x' < x y' <= y 或 x '<= x y' <= y,那么这个群体就是优势群体, 让你求出每放入一 ...
- swift中的类拓展 extension
以添加颜色为例,new 一个swift文件夹 不是cocoa类 也不需要继承什么. 然后 import UIKit protocol ColorDalegate{ class func mainCol ...
在国外,CSS3的盛行与普及,探讨与研究要比国内领先不知多少个身位。相比之下,国内似乎如一潭死水,为何?我觉得国内领先的前端团队应该通过自身的影响力,带动国内整个前端领域与时俱进。然而,可以理解,我们都是要养家糊口或是谈情说爱的,我们不都是圣人,有着以天下兴亡为己任的责任心与使命感,所以呢,要么等着别人喂,要么闭门造车。这,不说也罢。




