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

兼容IE8插件(兼容h5+css3新特性) 这是一个对IE8及以下做前端兼容的文件工具包,使用时可参考如下实例在文件里引入即可 <!--对于ie6到ie8做兼容,兼容h5,css3等新特性--> <!--[if (gte IE 6)&(lte IE 8)]> [removed][removed] [removed][removed] [removed][removed] <![endif]--> 立即下载

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

1. Dean Edwards的IE7.js (以及 IE8.js, IE9.js)

这个玩意估计是试图让IE支持CSS3属性的鼻祖,还算蛮强大,就是性能开销较大,要解析很多文件脚本,给DOM添加大量的元素以及ClassName。

2. Aaron Gustafson的 eCSStender

此方法支持@font-face, CSS3 选择器, 以及 CSS3 Backgrounds 和 Borders。

3. Drew Diller的 DD_roundies

这是一个基于IE VML实现一些CSS3效果的。

4. Remiz Rahnas的border-radius.htc

此方法使用htc文件,配合VML实现,缺点在于不能自动适应目标元素的位置和大小,所以不能适用于动态脚本环境。

5. Nick Fetchak的 ie-css3.htc

关于此方法,我在前面的"让IE6/IE7/IE8浏览器支持CSS3属性"这篇文章中已经做过介绍。我是建议您看看这篇文章,倒不是ie-css3.htc这个玩意多么好,而是文中对htc文件以及VML预言做了些介绍,对于您了解IE下实现类似CSS3效果原理有所了解。

6. Keith Clark的ie-css3.js

这是个与IE7.js类似的项目,其选择器可借助其他JavaScript库,所以其本身较小。

7. zoltandulac的cssSandpaper

这是一个使用IE滤镜实现一些CSS3属性的方法。

8. css3pie的css3 PIE.htc

支持:border-radius圆角 、 box-shadow 盒阴影 、 gradient渐变 、 multiple background images多背景 。

 

下面对第8第方法的做一下简单介绍:

官方网站:http://css3pie.com/

使用方法:

第一步:下载css3 PIE.htc 文件

第二步:将PIE.htc文件上传到你的网站目录中,上传到目录哪里都可以,只要你记住这个目录。

第三步:创建html文件,写一段css3代码,并引入PIE.htc,如下面这段:

 
  1. #id { 
  2. border: 1px solid #999; 
  3. -webkit-border-radius: 10px; 
  4. -moz-border-radius: 10px; 
  5. border-radius: 10px; 
  6. behavior: url(path/to/PIE.htc); 
  7. } 

注意:.htc 文件路径是相对于html文件的路径,而不是相对于css文件。

 

已知的一些问题:

此方法并不是万能的,也有一些局限性和需要注意的地方。

1. z-index相关问题

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)。

2. 相当路径的问题

IE浏览器的behavior 属性是相对于HTML文档而言的,与CSS其他的属性不一样,不是相对于CSS文档而言的。这使得使用pie.htc文件不怎么方便。如果绝对路径于根目录,则CSS文件不方便移动;如果相对路径与HTML文档,则pie.htc文件在不同HTML页面见的重用性大大降低。同时,诸如border-image后面的URL属性路径也不好处理。

3. 缩写的问题

使用PIE实现IE下的CSS3渲染(其他方法也是一样),只能使用缩写的形式,例如圆角效果,我们可以设置border-top-left-radius表示左上圆角,但是PIE确实不支持这种写法的,只能是老老实实的缩写。

4. 提供正确的Content-Type

要想让IE浏览器支持htc文件,需要一个有着"text/x-component" 字样的content-type 头部,否则,会忽视behavior。绝大数web服务器提供了正确的content-type,但是还有一部分则有问题。

如果您发现在您的机子上PIE方法无效,也就是htc文件这里指pie.htc文件无效,检查您的服务器配置,可能其需要更新到最新的content-type。例如对于Apache,您可以在.htaccess文件中做如下处理:

 
  1. AddType text/x-component .htc 

但是,由于某种原因,您无法修改服务器配置(例如公用主机,或是空间服务商提供的服务器),您可以用一个PHP文件来间接调用htc文件。我只要给你看下这个PHP文件的代码您就知道什么意思了,如下:

 
  1. <?php 
  2. header( 'Content-type: text/x-component' ); 
  3. include( 'pie.htc' ); 
  4. ?> 

通过PHP文件来增加一个含有"text/x-component"字样的Content-type头,同时调用pie.htc文件。

关于上面所示的php文件,您可以狠狠地点击这里:pie.php(右键 – [目标|链接另存为]),或者您可以直接新建一个php文件,把上面的两行代码复制进去。或者在本文提供的原始打包资源的wrappers文件夹里面也有此php文件,不过名称是大写的。

如果您使用上述php文件,您需要将pie.php和pie.htc放在同一个文件夹目录下,同时CSS中的behavior写法应该是:

 
  1. behavior: url(pie.php); 

以上为一些常见的主要的问题,当然,在复杂的页面情况下,还会有其他意想不到的情况,这里,祝您好运了!



转载于http://www.weeeb.net/c838.html

让IE8和IE9支持Html5和Css3 让IE8和IE9支持Html5和Css3,压缩包里包括css3-mediaqueries.js、html5shiv.js、selectivizr.js 立即下载

相关推荐

让IE6、7 、8支持CSS3新特性插件

一个能让IE9一下的浏览器完美支持CSS样式新特性的插件,比如支持圆角,文字、元素阴影效果。

从RAG到知识编译:llm-wiki-compiler构建结构化个人知识库

在信息爆炸的时代,知识管理成为技术从业者的核心挑战。传统基于检索增强生成(RAG)的方法虽然能快速查找信息,但存在无状态、碎片化和重复计算等局限,难以形成可沉淀的知识资产。知识编译范式通过一次性分析原始资料,提取核心概念并建立显式关联,生成结构化的Markdown维基页面,实现了从临时检索到永久知识资产的转变。这种模式特别适合构建中小型、高价值的知识体系,通过显式的维基链接建立概念间的强关联,支持与Obsidian等双链笔记软件无缝集成。对于AI研究员、工程师和技术写作者而言,知识编译工具如llm-wiki

weixin_30500473的博客 539

让IE6支持css3,让 IE7、IE8 都支持CSS3

但凡是前端工程师,都知道IE6,IE7,IE8不支持、或者不完全支持CSS3的属性。

让IE6/IE7/IE8支持CSS3属性的脚本ie-css3.htc

IE6/7并不支持CSS3的属性,IE8也不能很好的支持CSS3。如何让IE 6/7/8支持border-radius (rounded),box-shadow ( shadow),text-shadow等这些属性呢?这里介绍一个通过htc脚本实现这些属性的方法。 首先下载ie-css3.htc脚本,然后在css中加入: behavior: url(ie-css3.htc);例如:

打杂人-aerchi 4080

基于555定时器的D类功放设计:从PWM原理到无反馈电路实践

D类功放(数字功放)是一种高效率的音频放大技术,其核心原理是脉冲宽度调制(PWM)。它将输入的模拟音频信号转换为一系列高速开关的脉冲,通过控制功率开关管(如MOSFET)的通断,再经低通滤波器还原放大后的音频。相比传统AB类功放,其转换效率通常超过90%,显著降低了热能损耗。这项技术在追求高能效和小型化的现代音频设备中价值凸显,广泛应用于有源音箱、汽车音响和便携式设备。本文聚焦于一种独特的实现方案:以经典的555定时器芯片为核心,构建一个无整体负反馈的D类功放。通过剖析其PWM调制器、FET电压-电流转换级

weixin_30162121的博客 222

中文翻译《ASPICE in practice》之“SUP.8 配置管理”

一般来说,自动化程度越低,负责 CM 的个人就必须花费越多的精力,例如,检查基线的正确性和完整性,或确保在归档系统上正确完成手动版本控制。必须防止未经许可的访问。为了唯一地标识基线,许多 CM 工具提供了一种“标记”基线的机制,即为受影响的 CM 项目的所有版本分配相同的标签,例如“第 3 次交付状态”。此选择必须允许绘制合格的基线(参见 BP5),即确保实际上所有描述特定开发阶段的元素(需求和设计文档、开发环境、变更请求、测试用例、测试文档,也可能是重要的中间工作产品等)都可以在 CM 系统中进行基线。

Smith_Chai的博客 1583

ie6 支持css3,让 IE6, 7和 8支持CSS3 (转)

我们都知道IE6,7并不支持CSS3的属性,IE8也不能很好的支持CSS3。但是有一个小脚本能够做到,它可以让IE支持CSS3,包括:border-radius (rounded), box-shadow ( shadow), text-shadow等……如果你需要一个支持CSS3 的box content,你需要添加一行代码:behavior: url(ie-css3.htc);代码:.box ...

weixin_35689681的博客 215

国产麒麟系统下Kettle安装避坑指南:解决aarch64架构不兼容问题

本文针对在国产麒麟系统上安装Kettle时遇到的aarch64架构不兼容问题,提供了详细的解决方案。通过剖析错误根源,指导用户获取并放置正确的SWT库文件,并修改启动脚本,成功解决“平台不支持”的报错,确保ETL工具在ARM架构的国产化环境中顺利运行。

weixin_29214691的博客 277

如何让IE8支持css3属性

border-radius/box-shadow/gradient 圆角、盒子阴影、渐变这几个属性可以使用 ie-css3.htc来实现IE低版本的兼容,CSS代码如下:  .pie_radius{  width:360px;  height:200px;  background-color:#34538b;  -moz-border-radius:8px;  -webkit-bor

qq_32526373的博客 1万+

中小公司无线组网实战:用一台H3C AC和普通三层交换,实现办公网AP统一管理

本文详细介绍了中小型企业如何利用H3C AC控制器与普通三层交换机实现无线AP统一管理的实战方案。通过VLAN规划、DHCP配置和AC控制器设置,构建经济高效的办公网络,解决信号覆盖和连接稳定性问题,特别适合50-200人规模的企业部署。

weixin_42531516的博客 382

从7V到28V宽压输入,手把手教你设计一个5V/3A的DCDC电源模块(附MPS1584选型与原理图避坑)

本文详细解析了基于MPS1584芯片的7V至28V宽压输入到5V/3A输出的DCDC电源模块设计全流程。从电源架构选择、原理图设计要点到实际调试经验,涵盖了输入保护电路、功率转换核心电路及系统级优化测试,帮助工程师规避常见设计陷阱,实现高效稳定的电源解决方案。

weixin_33712987的博客 499

calc ie支持_让IE6/IE7/IE8支持CSS3属性的8种方法介绍

让IE6/IE7/IE8支持CSS3属性的8种方法介绍发布时间:2013-09-23 10:43:06 作者:佚名 我要评论IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,到目前为止,有不少可以让IE支持部分CSS3属性的工具我们都知道,IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总...

weixin_39620535的博客 539

串口、COM、UART、TTL、USB、RS-232、RS-485、I2C、SPI、CAN、1-WIRE

一文搞定,赶紧收藏吧

记得诚 3万+

使ie6/7/8支持css3的方法

使用PIE.htc让IE6\7\8支持CSS3部分属性 包括圆角,阴影,背景渐变等效果 下载地址http://css3pie.com/download/ 需要注意几点的是 第一,pie是以相对页面html文件的路径插入到css样式内的 第二,也就是最重要的一点,一定要添加相对定位 参考地址http://www.zhangxinxu.com/wordpress/2010/0...

weixin_30552811的博客 108

2026.2.23:AgentScope框架实战<一>:安装并使用agentscope

本文介绍了AgentScope框架的安装与使用实践。通过PyPI安装agentscope[full]后,演示了如何创建ReActAgent代理:1)配置DashScope聊天模型;2)注册自定义工具函数(查询位置和天气);3)初始化代理并处理用户请求。示例展示了代理如何响应复合查询(如同时获取北京位置和天气信息),输出结果显示代理成功执行了工具调用并返回结构化响应。该框架支持Python 3.13环境,提供内存管理、工具集成等功能,适用于构建智能代理系统。

拥抱具身智能,昇腾Ascend C 507

TC8:IPv4_HEADER_01-04

IPv4_HEADER_01: Ensure that the DUT generates an IPv4 Packet with a Total Length greater than or equal to 20 目的 确保DUT生成的IPv4报文的IP头部中的Total Length字段值大于等于20 IPv4协议头部中的Total Length字段表示整个IP数据包的长度,包括IP Header和payload之和,IP首部的长度最少就有20个字节,所以Total Length值肯定大于等于20

jasonj333 3961

让IE6/IE7/IE8支持CSS3属性的8种方法介绍

我们都知道,IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的进步的。到目前为止,有不少可以让IE支持部分CSS3属性的工具。例如:1. Dean Edwards的IE7.js (以及 IE8.js, IE9.js)这个玩意估计是试图让IE支持CSS3属性的...

weixin_30646505的博客 115

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

ie8支持php吗,CSS_让IE6/IE7/IE8支持CSS3属性的8种方法介绍,我们都知道,IE浏览器暂不支 - phpStudy...

让IE6/IE7/IE8支持CSS3属性的8种方法介绍我们都知道,IE浏览器暂不支持CSS3的一些属性。国外的工程师们,不安于此现状,他们总是尽量使用一些手段使IE浏览器也能支持CSS3属性,我觉得这些都是很有意义,很有价值的工作,可以推动整个技术领域的进步的。到目前为止,有不少可以让IE支持部分CSS3属性的工具。例如:1. Dean Edwards的IE7.js (以及 IE8.js, IE9...

weixin_39807067的博客 192

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

让IE6/IE7/IE8浏览器支持CSS3属性

让IE6/IE7/IE8浏览器支持CSS3属性 一、下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东。 二、上面的是什么东西 首先说说.htc文件,.htc文件是个脚本文件,我个人以为与js文件属于同一货色,只是呢,貌似htc是Internet Explorer(IE)的私生子,只有IE才认它。htc文件可以用来描述web行为,w...

weixin_30236595的博客 98

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

上一篇: Json对象与Json字符串互转
下一篇: js 一个等号"=" 二个等号"==" 三个等号"===" 的区别
信念堤岸
博客等级 码龄13年 40粉丝 44原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值