酒浓码浓 - CSSOM

CSSOM

The CSS Object Model is a set of APIs allowing the manipulation of CSS from JavaScript. It is much like the DOM, but for the CSS rather than the HTML. It allows users to read and modify CSS style dynamically.

CSSOM:css的对象模型。

文档:W3C文档 ,MDN

document.styleSheets

document 的 styleSheets 属性表示文档中的所有样式表,这是一个只读的列表,我们可以用方括号运算符下标访问样式表,也可以使用 item 方法来访问,它有 length 属性表示文档中的样式表数量。

css有很多rule,最常用的为 CSSStyleRule。有两个属性:selectorText 和 style,分别表示一个规则的选择器部分和样式部分。

selector 部分是一个字符串,这里显然偷懒了没有设计进一步的选择器模型,我们按照选择器语法设置即可。style 部分是一个样式表,它跟我们元素的 style 属性是一样的类型,所以我们可以像修改内联样式一样,直接改变属性修改规则中的具体 CSS 属性定义,也可以使用 cssText 这样的工具属性

document.styleSheets[0].cssRules

此外,CSSOM 还提供了一个非常重要的方法,来获取一个元素最终经过 CSS 计算得到的属性:

第一个参数就是我们要获取属性的元素,第二个参数是可选的,用于选择伪元素

window.getComputedStyle(elt, pseudoElt);

 

CSSOM还有跟元素视图相关的 View 部分(CSSOM View

比较有用兼容也蛮好的方法:

getClientRects();

getClientRects 会返回一个列表,里面包含元素对应的每一个盒所占据的客户端矩形区域,这里每一个矩形区域可以用 x, y, width, height 来获取它的位置和尺寸。

getBoundingClientRect()。

getBoundingClientRect ,这个 API 的设计更接近我们脑海中的元素盒的概念,它返回元素对应的所有盒的包裹的矩形区域,需要注意,这个 API 获取的区域会包括当 overflow 为 visible 时的子元素区域。

基础API信息如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值