CSS的htc文件对于脚本生成的html无效的处理方法

4 篇文章 0 订阅

最近用PIE.htc开发CSS3的网页时,发现用到PIE.htc的CSS效果对于用脚本生成的html代码都无效的情况

众所周知htc是IE针对CSS开放的一种特殊实现方式


htc的实现是在页面载入完成后开始的,类似于js的window.onload(),它并不是像CSS语言那样,成为浏览器原生的语言,所以当页面内容使用js生成时,其他css效果都会展现,唯独htc的效果不会出现,因为此时它已经过了执行时间了

 

因此,需要让htc效果继续出现,就要用js操纵一次,让htc再次执行一遍。

IE为此专门为DOM节点添加了一个addBehavior方法,用于执行htc文件的。

 

具体使用方法如下:

 

原本的CSS代码:

 

#b {
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    behavior: url(/PIE.htc);
}

 

 

插入html并使htc执行的jQuery代码:

 

$(window.body).append('<div id="b"></div>');
$('#b').get(0).addBehavior('/PIE.htc'); 
// 或 document.getElementById('b').addBehavior('/PIE.htc');

 

 

建议在执行addBehavior前,先判断下浏览器是否支持该方法,如:

 

if(window.body.addBehavior){
    document.getElementById('b').addBehavior('/PIE.htc');
}
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值