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

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

  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. robotium从入门到放弃 二 第一个实例

    1.导入被测试的源码 我们先下载加你计算器源码,下载地址: https://robotium.googlecode.com/files/AndroidCalculator.zip 如果地址被墙无法现在 ...

  2. html 5 本地数据库(Web Sql Database)核心方法openDatabase、transaction、executeSql 详解

    Web SQL数据库API实际上不是HTML5规范的组成部分,而是单独的规范.它通过一套API来操纵客户端的数据库.Safari.Chrome. Firefox.Opera等主流浏览器都已经支持Web ...

  3. 2.13.2. 对结果集进行筛选(Core Data 应用程序实践指南)

    Core Data通过谓词(NSPredicate)来筛选,比如限定获取的数量等.谓词基本对存储区不敏感,但也有例外,比如:matches可用在 in-memory存储区,但是不能用在SQLite存储 ...

  4. awakeFromNib与initWithCoder

  5. 阿里云上给的防止跨站和xss攻击的代码

    文档说明: 1.将waf.php传到要包含的文件的目录 2.在页面中加入防护,有两种做法,根据情况二选一即可: a).在所需要防护的页面加入代码require_once('waf.php');就可以做 ...

  6. 解决Apache的错误日志巨大的问题以及关闭Apache web日志记录

    调整错误日志的级别 这几天 apache错误日志巨大 莫名其妙的30G  而且 很多都是那种页面不存在的  网站太多了  死链接相应的也很多于是把错误警告调低了 因为写日志会给系统带来很大的损耗.关闭 ...

  7. HDU-2031-进制转换

    题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2031 进制转换 Time Limit: 2000/1000 MS (Java/Others)    M ...

  8. 验证浏览器是否安装已flash插件的js脚本

    function flashChecker() { var hasFlash = 0; //是否安装了flash var flashVersion = 0; //flash版本 if(document ...

  9. Eclipse插件手动安装

    拷贝至eclipse安装目录/dropins/文件夹下面: 不建议直接拷贝到features/ 和plugins/ 里面:

  10. Boost.Asio技术文档

    Christopher Kohlhoff Copyright © 2003-2012 Christopher M. Kohlhoff 以Boost1.0的软件授权进行发布(见附带的LICENSE_1_ ...