关于脚本化css
---恢复内容开始---
想把自己认为的最重要的,最有用的几块写上,以后会边学边总结完善。
1.首先我们通过JavaScript可以获取到我们想要获取的元素的样式。而这个样式并非单独的哪一个部分的规则决定的,这个样式是由一下几部分组成的:
1)web浏览器的默认样式
2)样式表中的规则(style或者link引入的样式)
3)标签元素style属性规定的样式
注意:以上所说的由这三种组合起来的样式叫做“计算后的样式(computedStyle)”
由此我们需要获取的是计算过之后的样式:
1)DOM标准用的是 window.getComputedStyle(ele,null)[attr] DOM标准用的是window的getComputedStyle方法
2)IE8及其以下不支持这个方法,而支持IE自由的一个属性currentStyle[attr]->通过它来获取
3)注意返回值:对于百分数点小数返回的是绝对值,而对于有尺寸的返回的是包含“px”的字符串,后期使用时还需要处理
4)透露一点getComputedStyle()和currentStyle返回的是 CSSStyleDeclaration对象(计算样式对象)
5)下面写一个兼容性的处理:
function getStyle(ele,attr){
      if(window.getComputedStyle){
                return window.getComputedStyle(ele,null)[attr];
      }else if(ele.currentStyle){
                return ele.currentStyle[atr]
      }else {
                return ele.style[attr];    //若都不支持
      }
}
2.除了获取元素的样式之外,通过JavaScript我们还可以获取dom文档中的样式表,并且可以修改增加里面的样式
1)在脚本化样式表时主要是有两类需要使用的对象
>>>1.第一类对象,由<style>和<link>元素表示,这两种包含或者引用样式表,对于这两个可以通过id或者tagName等进行获取
>>>2.第二类是CSSStyleSheet对象表示样式表本身
>>>3.document.styleSheets是一个表示所有CSSStyleSheet对象的只读的类数组对象
2)对于获取到的样式表可以有三个操作
>>>1.可以对CSSStyleSheet对象的disabled属性进行设置来规定要不要启用该样式表(true/false)
>>>2.通过CSSStyleSheet对象的cssRules属性可以获取该样式表中的所有的规则的集合(IE不支持这个IE使用rules来代替这个)
>>>3.除了以上两种操作之外,还有一个就是对样式表的实际操作(主要有增加和移除样式表中的规则两种操作)
>>1.对于标准是通过CSSStyleSheet对象的insertRule()和deleteRule(arg1,arg2)方法(arg1:表示选择器规则的内容,arg2:表示规则要插入的位置)
>>2.IE有自己的添加和移除的方法:addRule()和removeRule(arg1,arg2,arg3)方法(arg1:表示选择器,arg2:表示规则内容,arg3:表示规则需要插入的位置)
>>>4.cssText表示要表示的规则的内容
3)还有就是创建样式表,通过创建style标签和规定style标签的innerHTML来完成
关于脚本化css的更多相关文章
- 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法
		
× 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...
 - 深入理解脚本化CSS系列第四篇——脚本化样式表
		
× 目录 [1]CSSStyleSheet [2]CSSRule 前面的话 关于脚本化CSS,查询样式时,查询的是计算样式:设置单个样式时,设置的是行间样式:设置多个样式时,设置的是CSS类名.脚本化 ...
 - 深入理解脚本化CSS系列第三篇——脚本化CSS类
		
前面的话 在实际工作中,我们使用javascript操作CSS样式时,如果要改变大量样式,会使用脚本化CSS类的技术,本文将详细介绍脚本化CSS类 style 我们在改变元素的少部分样式时,一般会直接 ...
 - 深入理解脚本化CSS系列第一篇——脚本化行内样式
		
× 目录 [1]用法 [2]属性 [3]方法 前面的话 脚本化CSS,通俗点说,就是使用javascript来操作CSS.引入CSS有3种方式:外部样式,内部样式和行间样式.本文将主要介绍脚本化行间样 ...
 - JavaScript权威指南--脚本化CSS
		
知识要点 客户端javascript程序员对CSS感兴趣的是因为样式可以通过脚本编程.脚本化css启用了一系列有趣的视觉效果.例如:可以创建动画让文档从右侧“滑入”.创造这些效果的javascript ...
 - 浅谈脚本化css(二)
		
查询计算样式 window上面有一个方法叫做getComputedStyle可以来获取元素的计算样式,也就是css样式. window.getComputedStyle(ele. null); J ...
 - 深入理解脚本化CSS系列第二篇——查询计算样式
		
× 目录 [1]getComputedStyle [2]注意事项 [3]currentStyle[4]IE 前面的话 元素的渲染结果是多个CSS样式博弈后的最终结果,这也是CSS中的C(cascade ...
 - 脚本化CSS类-HTML5 classList属性
		
HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设 ...
 - 深入理解脚本化CSS系列第五篇——动态样式
		
前面的话 很多时候,DOM操作比较简单明了,因此用javascript生成那些通常原本是HTML代码生成的内容并不麻烦.但由于浏览器充斥着隐藏的陷阱和不兼容问题,处理DOM中的某些部分时要复杂一些,比 ...
 
随机推荐
- UIButton 之 按下高亮
			
设置高亮 [btn setHighlighted:YES]; 设置按下时高亮 [btn setShowsTouchWhenHighlighted:YES];
 - 前端制作篇之meta标签篇
			
移动端前端制作有些地方不同于互联网,这篇主要讨论的是meta标签.meta标签位于之间.是主要辅助HTML结构层的.meta标签不管在互联网前端还是在移动端都起了很重要的作用.这里只讨论移动端. 附上 ...
 - 【python之路12】三元运算符(if)
			
1.三元运算符条件语句 普通if条件是这样写的: n = 1 if n > 0: st = '大于0' else: st = '小于等于0' print(st) 三元运算符的写法: n = 1 ...
 - delphi公用函数
			
{*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } ...
 - --@angularJS--路由插件UI-Router
			
UI-Router是angular路由插件,上一篇我们讲到了angularJS自带路由,可惜在路径嵌套上表现的有所欠缺,而angular-UI-Router插件正好弥补了这一点. [示例]: □.UI ...
 - redis 实例
			
打redis模块打开官网 http://www.redis.io/ 进入clients 找到PHP的选项 然后进入phpredis 这就是redis for php的扩展模块 phpize ./co ...
 - 使用karma+jasmine做单元测试
			
目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...
 - 天兔(Lepus)监控系统慢查询分析平台安装配置
			
被监控端要安装pt工具 [root@HE1~]## yum -y install perl-IO-Socket-SSL [root@HE1~]## yum -y install perl-DBI [r ...
 - Pomelo的监控模块
			
对服务器的监控和管理有三个主体:master,monitor,client:master负责收集所有服务器的信息,下发对服务器的操作指令.monitor负责上报服务器状态,并对master的命令作出反 ...
 - Flex之HTML5视频播放解决方案
			
Flex的video类对于视频播放在ios操作系统下表现出不兼容,采用调用ios源生播放器的思路,那么怎么调呢? 话说Html5 和Flex是竞争关系,这次利用Html5的video标签实现ios播放 ...