zoukankan      html  css  js  c++  java
  • dom的变化(样式)

     1 <!DOCTYPE html>
     2 <html>
     3 
     4     <head>
     5         <meta charset="UTF-8">
     6         <title>dom的变化(样式)</title>
     7         <style type="text/css">
     8             body{height: 2000px;}
     9             #myDiv {
    10                 
    11                 background-color: blue;
    12                 width: 100px;
    13                 height: 200px;
    14             }
    15         </style>
    16     </head>
    17 
    18     <body>
    19         <div id="myDiv" style="background-color: red; border: 1px solid black"></div> 
    20     </body>
    21     <script>
    22         /*
    23                  任何支持 style 特性的 HTML 元素在 JavaScript 中都有一个对应的 style 属性。这个 style 对象是 CSSStyleDeclaration 的实例,
    24                  式。在 style 特性中指定的任何 CSS 属性都将表现为这个style 对象的相应属性。对于使用短划线(分隔不同的词汇,例如 background-image)的 CSS 属性名,
    25                  必须将其转换成驼峰大小写形式,才能通过 JavaScript 来访问。(float除外,详见:dom高级程序设计:Page(313))
    26                  在标准模式下,所有度量值都必须指定一个度量单位。在混杂模式下,可以将style.width 设置为"20",浏览器会假设它是"20px";
    27                  
    28                  * */
    29         /*
    30          “DOM2级样式”规范还为 style 对象定义了一些属性和方法。这些属性和方法在提供元素的 style特性值的同时,也可以修改样式。下面列出了这些属性和方法。
    31  cssText:如前所述,通过它能够访问到 style 特性中的 CSS 代码。
    32  length:应用给元素的 CSS 属性的数量。
    33  parentRule:表示 CSS 信息的 CSSRule 对象。本节后面将讨论 CSSRule 类型。
    34  getPropertyCSSValue(propertyName):返回包含给定属性值的 CSSValue 对象。
    35  getPropertyPriority(propertyName):如果给定的属性使用了!important 设置,则返回
    36 "important";否则,返回空字符串。
    37  getPropertyValue(propertyName):返回给定属性的字符串值。
    38  item(index):返回给定位置的 CSS 属性的名称。
    39  removeProperty(propertyName):从样式中删除给定属性。
    40  setProperty(propertyName,value,priority):将给定属性设置为相应的值,并加上优先
    41 权标志("important"或者一个空字符串)。
    42          * */
    43         var myDiv = document.getElementById("myDiv");
    44         var computedStyle = document.defaultView.getComputedStyle(myDiv, null);
    45         console.log(computedStyle.backgroundColor); //rgb(255, 0, 0)
    46         console.log(computedStyle.width); // "100px"
    47         console.log(computedStyle.height); // "200px"
    48         console.log(computedStyle.border); //1px solid rgb(0, 0, 0)[google的,不同浏览器不一样]
    49         /*IE 不支持 getComputedStyle()方法,但它有一种类似的概念。在 IE 中,每个具有 style 属性的元素还有一个 currentStyle 属性。*/
    50         /*
    51          操作样式表:详见:高阶js[dom2和dom3]
    52          * */
    53         /*
    54          元素大小
    55           偏移量
    56           offsetHeight:元素在垂直方向上占用的空间大小,以像素计。包括元素的高度、(可见的)水平滚动条的高度、上边框高度和下边框高度。
    57  offsetWidth:元素在水平方向上占用的空间大小,以像素计。包括元素的宽度、(可见的)垂直滚动条的宽度、左边框宽度和右边框宽度。
    58  offsetLeft:元素的左外边框至包含元素的左内边框之间的像素距离。
    59  offsetTop:元素的上外边框至包含元素的上内边框之间的像素距离。
    60 offsetLeft 和 offsetTop 属性与包含元素有关,包含元素的引用保存在 offsetParent
    61 属性中。offsetParent 属性不一定与 parentNode 的值相等。例如,<td>元素的 offsetParent 是
    62 作为其祖先元素的<table>元素,因为<table>是在 DOM 层次中距<td>最近的一个具有大小的元素。
    63 所有这些偏移量属性都是只读的,而且每次访问它们都需要重新计算。因此,应该尽量避免重复访问这些属性;如果需要重复使用其中某些属性的值,可以将它们保存在局部变量中,以提高性能。
    64          
    65          客户区大小
    66  元素的客户区大小(client dimension),指的是元素内容及其内边距所占据的空间大小。有关客户区
    67 大小的属性有两个:clientWidth 和 clientHeight。
    68 
    69 3. 滚动大小
    70 scrollHeight:在没有滚动条的情况下,元素内容的总高度。
    71  scrollWidth:在没有滚动条的情况下,元素内容的总宽度。
    72  scrollLeft:被隐藏在内容区域左侧的像素数。通过设置这个属性可以改变元素的滚动位置。
    73  scrollTop:被隐藏在内容区域上方的像素数。通过设置这个属性可以改变元素的滚动位置。
    74 
    75 4. 确定元素大小
    76 IE、Firefox 3+、Safari 4+、Opera 9.5及 Chrome为每个元素都提供了一个 getBoundingClientRect()方法。
    77 这个方法返回会一个矩形对象,包含 4 个属性:left、top、right 和 bottom。这些属性给出了元素在页面中相对于视口的位置。
    78          * */
    79         var sh= document.documentElement.scrollHeight;
    80         var sw= document.documentElement.scrollWidth;
    81         var ch= document.documentElement.clientHeight;
    82         var cw= document.documentElement.clientWidth;
    83         console.log(sh);
    84         console.log(sw);
    85         console.log(ch);
    86         console.log(cw);
    87     </script>
    88 
    89 </html>
  • 相关阅读:
    [转] 一封程序员的情书
    [**收集**]实用的网站
    [转] 绝对实用!60款免费软件逐个点评下载
    [*日语学习笔记*] 大家的日语初级1动词活用笔记
    [转] IT人不可不听的10个职场故事
    【转图】从可乐到NIKE 经典logo的web2.0版
    [转] 常用姓氏读法
    [转] 数据库开发个人总结(ADO.NET小结)
    [转] VB十七种可用一行代码完成的技巧
    [转] 程序员爱情观XP版本 (敏捷版本)
  • 原文地址:https://www.cnblogs.com/gaoxuerong123/p/7809730.html
Copyright © 2011-2022 走看看