---恢复内容开始---

  想把自己认为的最重要的,最有用的几块写上,以后会边学边总结完善。

  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的更多相关文章

  1. 深入理解脚本化CSS系列第六篇——脚本化伪元素的6种方法

    × 目录 [1]动态样式 [2]CSS类[3]setAttribute()[4]CSSRule对象添加[5]空样式覆盖[6]CSSRule对象删除 前面的话 我们可以通过计算样式来读取伪元素的样式信息 ...

  2. 深入理解脚本化CSS系列第四篇——脚本化样式表

    × 目录 [1]CSSStyleSheet [2]CSSRule 前面的话 关于脚本化CSS,查询样式时,查询的是计算样式:设置单个样式时,设置的是行间样式:设置多个样式时,设置的是CSS类名.脚本化 ...

  3. 深入理解脚本化CSS系列第三篇——脚本化CSS类

    前面的话 在实际工作中,我们使用javascript操作CSS样式时,如果要改变大量样式,会使用脚本化CSS类的技术,本文将详细介绍脚本化CSS类 style 我们在改变元素的少部分样式时,一般会直接 ...

  4. 深入理解脚本化CSS系列第一篇——脚本化行内样式

    × 目录 [1]用法 [2]属性 [3]方法 前面的话 脚本化CSS,通俗点说,就是使用javascript来操作CSS.引入CSS有3种方式:外部样式,内部样式和行间样式.本文将主要介绍脚本化行间样 ...

  5. JavaScript权威指南--脚本化CSS

    知识要点 客户端javascript程序员对CSS感兴趣的是因为样式可以通过脚本编程.脚本化css启用了一系列有趣的视觉效果.例如:可以创建动画让文档从右侧“滑入”.创造这些效果的javascript ...

  6. 浅谈脚本化css(二)

    查询计算样式 window上面有一个方法叫做getComputedStyle可以来获取元素的计算样式,也就是css样式.   window.getComputedStyle(ele. null); J ...

  7. 深入理解脚本化CSS系列第二篇——查询计算样式

    × 目录 [1]getComputedStyle [2]注意事项 [3]currentStyle[4]IE 前面的话 元素的渲染结果是多个CSS样式博弈后的最终结果,这也是CSS中的C(cascade ...

  8. 脚本化CSS类-HTML5 classList属性

    HTML元素可以有多个CSS类名,class属性保存了一个用空格隔开的类名列表.标识符class在JavaScript中是保留字,所以在JavaScript中可以用className. //如下代码设 ...

  9. 深入理解脚本化CSS系列第五篇——动态样式

    前面的话 很多时候,DOM操作比较简单明了,因此用javascript生成那些通常原本是HTML代码生成的内容并不麻烦.但由于浏览器充斥着隐藏的陷阱和不兼容问题,处理DOM中的某些部分时要复杂一些,比 ...

随机推荐

  1. UIButton 之 按下高亮

    设置高亮 [btn setHighlighted:YES]; 设置按下时高亮 [btn setShowsTouchWhenHighlighted:YES];

  2. 前端制作篇之meta标签篇

    移动端前端制作有些地方不同于互联网,这篇主要讨论的是meta标签.meta标签位于之间.是主要辅助HTML结构层的.meta标签不管在互联网前端还是在移动端都起了很重要的作用.这里只讨论移动端. 附上 ...

  3. 【python之路12】三元运算符(if)

    1.三元运算符条件语句 普通if条件是这样写的: n = 1 if n > 0: st = '大于0' else: st = '小于等于0' print(st) 三元运算符的写法: n = 1 ...

  4. delphi公用函数

    {*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 } ...

  5. --@angularJS--路由插件UI-Router

    UI-Router是angular路由插件,上一篇我们讲到了angularJS自带路由,可惜在路径嵌套上表现的有所欠缺,而angular-UI-Router插件正好弥补了这一点. [示例]: □.UI ...

  6. redis 实例

    打redis模块打开官网 http://www.redis.io/  进入clients 找到PHP的选项 然后进入phpredis 这就是redis for php的扩展模块 phpize ./co ...

  7. 使用karma+jasmine做单元测试

    目的 使用karma和jasmine来配置自动化的js单元测试. Karma和Jasmine Karma是由Angular团队所开发的一种自动化测试工具.链接:http://karma-runner. ...

  8. 天兔(Lepus)监控系统慢查询分析平台安装配置

    被监控端要安装pt工具 [root@HE1~]## yum -y install perl-IO-Socket-SSL [root@HE1~]## yum -y install perl-DBI [r ...

  9. Pomelo的监控模块

    对服务器的监控和管理有三个主体:master,monitor,client:master负责收集所有服务器的信息,下发对服务器的操作指令.monitor负责上报服务器状态,并对master的命令作出反 ...

  10. Flex之HTML5视频播放解决方案

    Flex的video类对于视频播放在ios操作系统下表现出不兼容,采用调用ios源生播放器的思路,那么怎么调呢? 话说Html5 和Flex是竞争关系,这次利用Html5的video标签实现ios播放 ...