html 动态添加style,Javascript动态创建 style 节点

Javascript动态创建 style 节点

互联网   发布时间:2008-10-17 19:25:03   作者:佚名   text-message.png 我要评论

有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件。如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时。

静态外部 css 文件语法:

@import url(style.css);

动态外部 css 文件加载的方法有如下:

第一种:

var style =

有很多提供动态创建 style 节点的方法,但是大多数都仅限于外部的 css 文件。如何能使用程序生成的字符串动态创建 style 节点,我搞了2个小时。

静态外部 css 文件语法:

@import url(style.css);

动态外部 css 文件加载的方法有如下:

第一种:

var style = document.createElement(’link’);

style.href = ’style.css’;

style.rel = ’stylesheet’;

style.type = ‘text/css’;

document.getElementsByTagName(’HEAD’).item(0).appendChild(style);

第二种简单:

document.createStyleSheet(style.css);

动态的 style 节点,使用程序生成的字符串:

var style = document.createElement(’style’);

style.type = ‘text/css’;

style.innerHTML=”body{ background-color:blue; }”;

document.getElementsByTagName(’HEAD’).item(0).appendChild(style);

很遗憾,上面的代码在 ff 里面成功,但是 ie 不支持。从老外论坛得到代码:

var sheet = document.createStyleSheet();

sheet.addRule(’body’,'background-color:red’);

成功,但是很麻烦,要把字符串拆开写,长一点的写死。

接着搜,在一个不知道什么国家的什么语言的 blog 上找到代码:

document.createStyleSheet(”javascript:’body{background-color:blue;’”);

成功,此人实在厉害,但是问题出来了,url 最大 255 个字符,长一点的就不行了,经过 SXPCrazy 提示,改成:

window.style=”body{background-color:blue;”;

document.createStyleSheet(”javascript:style”);

完美解决!!代码:

function blue(){

if(document.all){

window.style="body{background-color:blue;";

document.createStyleSheet("javascript:style");

}else{

var style = document.createElement('style');

style.type = 'text/css';

style.innerHTML="body{ background-color:blue }";

document.getElementsByTagName('HEAD').item(0).appendChild(style);

}

}

相关文章

2cd0a0958d4d8fb63b72f92cd69ada59.png

这篇文章主要介绍了纯 CSS 实现【点击展开阅读全文】功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-13

e4b76401dff19ab4596956a4061ae4aa.png

这篇文章主要介绍了CSS实现两个元素相融效果(粘滞效果),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学2020-10-12

1d11de5f0c551f376ce810aeed4f2587.png

这篇文章主要介绍了css为什么要放在head标签中,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-12

这篇文章主要介绍了CSS两种常用的封装示例,帮助大家更好的利用CSS制作网页,感兴趣的朋友可以了解下2020-10-12

e233f0dc167e354cb738ecc544a8cb7e.png

这篇文章主要介绍了CSS标签模式display属性,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-12

e7869b713a606c284e74a1219a3e6d57.png

这篇文章主要介绍了css 收货地址平行四边形的线条样式示例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-09

4218292b7e4d3a48e9bb3bdc337e5dbb.png

这篇文章主要介绍了css实现鼠标放上去时图片过渡转换动画,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-10-09

这篇文章给大家介绍了CSS中width和height的默认值auto与%案例,本文通过实例案例给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2020-09-30

a5183467a68d4ccd2166633d4208bbba.png

这篇文章主要介绍了css一些不常见但很有用的属性操作大全,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-28

56accc07564f6a9aa887be55dc5f13df.png

这篇文章主要介绍了解决搜索框和搜索按钮button边框不能重合的问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2020-09-28

最新评论

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值