你的问题有点令人困惑,但我会尽量掩盖细节,因为我认为你在问。
首先,我认为您的意思是“计算”值而不是“计算”值。您还在评论中询问“已使用”值,为了全面了解我们还需要涵盖一些其他值,“指定”值、“已解决”值和“实际”值。
现在采取第font-size
一个,我们有 .myspan 元素
- 指定值 = 220%
- 计算值 = 18px * 220% = 39.6px
- 解析值 = 39.6px
(解析值为font-size
计算值)
- 使用值 = 39.6px
(始终与 的计算值相同font-size
)
- 实际值 = 约 39-40px
(CSS 像素将转换为设备像素。可能会根据可用字体进行一些其他近似,并使用设备上最接近的可渲染数字)
对于width
, 情况略有不同
- 指定值 = 50%
- 计算值 = 50%
(在计算值时像素长度未知,因为在此步骤尚未发生布局)
- used value = 200px * 50% = 100px
(布局完成,像素值确定)
- 解析值 = 100px
(解析值为width
使用值)
- 实际值 = 约 100px
(与 font-size 一样,CSS 像素将转换为设备像素,并使用设备上最接近的可渲染数字)
现在,导致混淆的原因是,当您getComputedStyle()
在 JavaScript 中使用或检查浏览器开发人员工具中的“计算值”选项卡时,您不会获得元素的“计算”值 - 您会获得“已解决”值元素。
因为getComputedStyle()
,这只是出于向后兼容性原因而存在的历史异常。为什么开发人员工具还报告 Resolved 值,我不知道。