1. css样式表模型(cssom的本体)php
document.styleSheets
这样能够获取样式表列表css
每一个样式表都是一堆的css规则(cssRules和rules是同样的)windows
而每一条rule多是如下其中一种类型浏览器
那CSSStyleRule为例,展开:布局
最重要的就是cssText、selectorText、style[0]spa
2.cssom view3d
CSSOM View 这一部分的 API,能够视为 DOM API 的扩展code
窗口部分对象
有resizeTo、resizeBy、moveTo、moveBy方法,这些方法只能对window.open出来的窗口有做用(示例),并且不适用于移动端浏览器blog
还规定了window.open的第3个参数:
window.open("about:blank", "_blank" ,"width=100,height=100,left=100,right=100" )
滚动部分
视口
scrollX、scrollY:表示视口 X、Y 方向上的当前滚动距离(修改不会改变实际滚动效果)
scrollTo、scrollBy:使得页面滚动(使用后会影响scrollX、scrollY(前提是它们没有被js修改过))
值得注意的是,若是想监听整个页面的滚动,只能是对document对象来监听:
document.addEventListener("scroll", function(event){ // ... })
而不能对document.documentElement或者是document.body进行监听,这是无效的
元素
scrollLeft、scrollTop:表示元素 X、Y 方向上的当前滚动距离(和视口的scrollX、scrollY一个意思,可是修改会产生实际滚动效果)
scrollWidth、scrollHeight:表示元素内部的滚动内容的宽度、高度
scroll(x, y)、scrollBy(x, y):使得元素滚动(和视口的scrollTo、scrollBy一个意思)
scrollIntoView(arg) : 父元素滚动到能够看到当前元素的状态(详情)
布局部分
innerWidth、innerHeight:视口大小
outerWidth、outerHeight:浏览器大小
devicePixelRatio:物理像素和 CSS 像素单位的倍率关系,Retina 屏这个值是 2,后来也出现了一些 3 倍的 Android 屏
screen.width、screen.height:设备屏幕大小
screen.availWidth、screen.availHeight:设备屏幕能够渲染的大小(例如windows桌面最下面有任务栏,因此availHeight=总屏幕高-任务栏高)
screen.colorDepth、screen.pixelDepth:都是固定24,预留给之后标准使用