关于HTML Object中三个Style实例的区别

简介:

 我们在网页元素中定义的CSS属性,会被映射成该DHTML对象中Style对象(不是Style Tag对象)的实例。我们可以使用import-style[1]和inline-style[2]为网页元素指定CSS属性,同时也可以使用element. style. attributeName = '...'的形式在Web页脚本中设置其值。但是同一个元素上的这些CSS属性值并不是都叠加后映射到同一个Style对象的实例上。

    我们使用脚本最常访问的Style对象,一般是element[3].style,但是这个对象只能反映出inline-style和使用脚本设置的样式值。同时这个element.style是不能访问元素的import-style的属性设置的。如果非要访问,可以使用styleSheets集合,在里面遍历获得元素的import-style属性,不过这样太麻烦了emcrook.gif

    在IE5.0及以后,微软为HTML Object提供了两个新的Style对象实例,分别是:currentStyle和runtimeStyle。

    currentStyle可以获元素的实际表现出来的CSS属性,就是说除了inline-style、import-style外,还包括了HTML元素属性的设置和HTML元素默认属性的累加。累加的默认优先级是:inline-style > import-style > HTML Attribute > HTML default。例如:<div style="display:inline"></div>。其currentStyle.display将会是inline,虽然div本身默认的display是block。不过对于inline-style和import-style的优先级不是绝对的,它俩还可以使用 ! important限定符来定制优先级,当然要是都使用了 ! important限定,就和都没有用一样。同时currentStyle还可以获取display属性为none的元素的CSS属性,得到的属性值和其显示时的值相同。由于currentStyle是一个异步对象,其实际取值依赖于它的实际显示状态,而不依赖于脚本对style的赋值。

    runtimeStyle也是Style对象的实例,所有的runtimeStyle的属性在默认状态下都是为空的(就是没有指定值)。那么它是用来干什么的呢?这个属性和style基本没有什么关系,顾名思义,它是在运行时刻控制元素的CSS属性的,设置了runtimeStyle后会影响currentStyle的对应属性值,同时也会在HTML元素的显示上表现出来。它的最大特点是,当我们把修改过的CSS属性的值再次清掉(赋'')的时候,其HTML元素的CSS属性会变为赋值前的值,同时currentStyle也还原了。runtimeStyle设置的属性具有最高的优先级,但是它不是永久的。

    style的用途不说了,太easy。currentStyle用来取元素实际表现得CSS属性。而runtimeStyle的用途除了本页提供的"Resume"功能这种情况外,想了半天再也想不出啥别的大作用了。

 

    [1]. import-style是指在HTML元素中使用class属性或者使用其id等直接为元素指派的外部CSS属性。例如:<div class="fontSize"></div>。

    [2]. inline-style是指在HTML元素中使用style属性直接为其指派的CSS属性。例如:<div style="width: 100%; height: 100%"></div>。

    [3]. 泛指Web页中的HTML标签元素。


本文转自博客园鸟食轩的博客,原文链接:http://www.cnblogs.com/birdshome/,如需转载请自行联系原博主。

目录
相关文章
|
1月前
|
Python
DTL与普通的HTML文件的区别
DTL与普通的HTML文件的区别。
67 5
|
6月前
|
移动开发 前端开发 JavaScript
【HTML】HTML基础知识详解【2万字+代码实例+显示效果】(下)
【HTML】HTML基础知识详解【2万字+代码实例+显示效果】(下)
【HTML】HTML基础知识详解【2万字+代码实例+显示效果】(下)
|
6月前
|
编解码
HTML 里 img 元素的 src 和 srcset 属性有何区别?
HTML 里 img 元素的 src 和 srcset 属性有何区别?
60 0
|
2月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
46 0
|
1月前
|
JavaScript 前端开发 Java
编程笔记 html5&css&js 073 JavaScript Object数据类型
编程笔记 html5&css&js 073 JavaScript Object数据类型
|
6月前
|
前端开发 JavaScript 搜索推荐
HTML Over the wire 框架和单页面应用的区别
HTML Over the wire 框架和单页面应用的区别
37 0
|
3月前
|
存储 移动开发 前端开发
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【HTML5内联SVG、SVG_矩形、SVG 与 Canvas两者间的区别 、HTML5_MathML 】(三)-全面详解(学习总结---从入门到深化)
29 0
|
4月前
html中img图片进行等比例缩放的实例代码
HTML中,要修改img元素定义的图片的大小,且是等比例缩放,不改变宽和高的比值,那么可以采用只设置img元素属性中width和height中的任何一个,不要同时设置两个即可实现img图片的等比例缩放效果。下面将通过两个实例来分别实现这两种方法。
83 1
|
4月前
|
XML 存储 数据格式
SGML .HTML 、XML和XHTML的区别?
SGML .HTML 、XML和XHTML的区别?
33 0
|
4月前
|
移动开发 前端开发 HTML5
【Web端智能聊天客服】之HTML、CSS、Bootstrap的讲解及实例(超详细必看 附源码)
【Web端智能聊天客服】之HTML、CSS、Bootstrap的讲解及实例(超详细必看 附源码)
52 0