在 javascript 中获取元素的计算后样式应使用 window.getcomputedstyle() 方法,它返回包含所有已计算 css 属性值的 cssstyledeclaration 对象;该方法接收目标元素和可选伪元素参数,属性读取推荐用 getpropertyvalue() 以支持短横线命名、css 变量及伪元素样式,与仅反映内联样式的 element.style 有本质区别。

在 JavaScript 中,获取元素的计算后样式(即浏览器最终应用到元素上的 CSS 样式值),要用 window.getComputedStyle() 方法,它返回一个 CSSStyleDeclaration 对象,包含所有已计算的 CSS 属性值。
使用 getComputedStyle 获取计算样式
该方法接收两个参数:目标元素和可选的伪元素字符串(如 ::before)。最常用的是只传元素:
const el = document.querySelector('#myDiv');const style = window.getComputedStyle(el);console.log(style.color); // 获取计算后的 color 值console.log(style.getPropertyValue('font-size')); // 推荐用此方式读取带短横线的属性名
注意属性名的写法
CSS 属性名在 JS 中需转为驼峰命名(如 background-color → backgroundColor),但部分属性仍建议用 getPropertyValue() 避免歧义:
在 Java 中初始化和管理阿里云 SDK客户端。包括单例模式、线程安全、endpoint 与 region 配置、VPC 终端节点、同步与异步等。
-
style.backgroundColor✅ 可用,但不适用于自定义属性或某些特殊属性 -
style.getPropertyValue('border-top-width')✅ 更稳妥,尤其对含短横线、CSS 变量(--my-color)等 -
style.getPropertyValue('--theme-color')✅ 自定义属性必须用此方式
获取伪元素的计算样式
第二个参数用于指定伪元素,例如:
const beforeStyle = window.getComputedStyle(el, '::before');console.log(beforeStyle.content); // 获取 ::before 的 content 值
与 element.style 的区别
element.style 只反映内联样式(style="...")或 JS 直接设置的样式,不包含 CSS 文件、继承或浏览器默认值;而 getComputedStyle 返回的是最终渲染时的真实计算值,包括继承、层叠、单位转换(如 em→px)等。
例如:el.style.width 可能为空,但 getComputedStyle(el).width 会返回具体的像素值(如 "200px")。
Java免费学习笔记:立即使用
解锁 Java 大师之旅:从入门到精通的终极指南










