CSSPrimitiveValue: getFloatValue() 方法
已弃用:此特性不再推荐。虽然某些浏览器可能仍然支持它,但它可能已经从相关的网络标准中删除,可能正在删除过程中,或者可能仅为兼容性目的而保留。请避免使用它,如果可能,请更新现有代码;请参阅本页底部的兼容性表格以指导您的决策。请注意,此特性可能随时停止工作。
getFloatValue() 方法是 CSSPrimitiveValue 接口的一部分,用于获取指定单位的浮点数值。如果此 CSS 值不包含浮点数值或无法转换为指定的单位,则会引发 DOMException。
注意:此方法是创建类型化 CSS 对象模型(Typed CSS Object Model)尝试的一部分。该尝试已被放弃,大多数浏览器并未实现它。
要实现您的目的,您可以使用
- 广泛支持的非类型化
CSS 对象模型,或 - 较少支持且被视为实验性的现代
CSS 类型化对象模型 API。
语法
js
getFloatValue(unit)
参数
unit-
一个 `unsigned short`,表示单位类型的代码,值将以此单位返回。有效值为
常量 描述 CSS_CM该值为以厘米为单位的 <length>。CSS_DEG该值为以度为单位的 <angle>。CSS_DIMENSION该值为维度未知的 <number>。CSS_EMS该值为以 em 单位为单位的 <length>。CSS_EXS该值为以 ex 单位为单位的 <length>。CSS_GRAD该值为以 grad 为单位的 <angle>。CSS_HZ值为以 Hertz 为单位的 <frequency>。可以通过 getFloatValue 方法获取值。CSS_IN该值为以英寸为单位的 <length>。CSS_KHZ该值为以千赫兹为单位的 <frequency>。CSS_MM该值为以毫米为单位的 <length>。CSS_MS该值为以毫秒为单位的 <time>。CSS_NUMBER该值为一个简单的 <number>。CSS_PC该值为以 pica 为单位的 <length>。CSS_PERCENTAGE该值为一个 <percentage>。CSS_PT该值为以 point 为单位的 <length>。CSS_PX该值为以像素为单位的 <length>。CSS_RAD该值为以弧度为单位的 <angle>。CSS_S该值为以秒为单位的 <time>。
返回值
指定单位下的 `float` 值。
异常
| 类型 | 描述 |
|---|---|
DOMException |
如果 CSS 值不包含浮点数值,或者浮点数值无法转换为指定的单位,则会引发 `INVALID_ACCESS_ERR`。 |
示例
js
const cs = window.getComputedStyle(document.body);
const cssValue = cs.getPropertyCSSValue("margin-top");
console.log(cssValue.getFloatValue(CSSPrimitiveValue.CSS_CM));
规范
此功能最初定义在 DOM Style Level 2 规范中,但此后已从任何标准化工作中删除。
它已被现代但不兼容的 CSS 类型化对象模型 API 所取代,该 API 现在已处于标准轨道。
浏览器兼容性
加载中…