实例属性
- unitType
- 
由该接口上定义的 SVG_LENGTHTYPE_*常量之一指定的此值的类型。
- value
- 
此值为浮点数值,以用户单位表示。 
- valueAsString
- 
此值为字符串值,以 unitType表示的单位表示。
- valueInSpecifiedUnits
- 
此值为浮点数值,以 unitType表示的单位表示。
实例方法
- convertToSpecifiedUnits()
- 
保留相同的底层存储值,但将存储的单位标识符重置为给定的 unitType。
- newValueSpecifiedUnits()
- 
将值重置为带有关联 unitType的数字,从而替换对象上所有属性的值。
静态属性
- SVG_LENGTHTYPE_UNKNOWN(0)
- 
单位类型不是预定义的单位类型之一。尝试定义此类型的新值或尝试将现有值切换到此类型是无效的。 
- SVG_LENGTHTYPE_NUMBER(1)
- 
未提供单位类型(即,指定了一个无单位的值),这表示一个用户单位值。 
- SVG_LENGTHTYPE_PERCENTAGE(2)
- 
指定了一个百分比值。 
- SVG_LENGTHTYPE_EMS(3)
- 
使用 em单位指定了一个值。
- SVG_LENGTHTYPE_EXS(4)
- 
使用 ex单位指定了一个值。
- SVG_LENGTHTYPE_PX(5)
- 
使用 px单位指定了一个值。
- SVG_LENGTHTYPE_CM(6)
- 
使用 cm单位指定了一个值。
- SVG_LENGTHTYPE_MM(7)
- 
使用 mm单位指定了一个值。
- SVG_LENGTHTYPE_IN(8)
- 
使用 in单位指定了一个值。
- SVG_LENGTHTYPE_PT(9)
- 
使用 pt单位指定了一个值。
- SVG_LENGTHTYPE_PC(10)
- 
使用 pc单位指定了一个值。
示例
xml
<svg height="200" onload="start();" version="1.1" width="200" xmlns="http://www.w3.org/2000/svg">
  <script><![CDATA[
function start() {
  const rect = document.getElementById("myRect");
  const val = rect.x.baseVal;
  // read x in pixel and cm units
  console.log(
    `value: ${val.value}, valueInSpecifiedUnits: ${val.valueInSpecifiedUnits} (${val.unitType}), valueAsString: ${val.valueAsString}`,
  );
  // set x = 20pt and read it out in pixel and pt units
  val.newValueSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_PT, 20);
  console.log(
    `value: ${val.value}, valueInSpecifiedUnits: ${val.valueInSpecifiedUnits} (${val.unitType}), valueAsString: ${val.valueAsString}`,
  );
  // convert x = 20pt to inches and read out in pixel and inch units
  val.convertToSpecifiedUnits(SVGLength.SVG_LENGTHTYPE_IN);
  console.log(
    `value: ${val.value}, valueInSpecifiedUnits: ${val.valueInSpecifiedUnits} (${val.unitType}), valueAsString: ${val.valueAsString}`,
  );
}
]]></script>
  <rect id="myRect"
        x="1cm" y="1cm"
        fill="green" stroke="black" stroke-width="1"
        width="1cm" height="1cm"
  />
</svg>
台式机显示器上的结果(像素单位将取决于 dpi)
value: 37.7952766418457, valueInSpecifiedUnits: 6: 1, valueAsString: 1cm value: 26.66666603088379, valueInSpecifiedUnits 9: 20, valueAsString: 20pt value: 26.66666603088379, valueInSpecifiedUnits 8: 0.277777761220932, valueAsString: 0.277778in
规范
| 规范 | 
|---|
| Scalable Vector Graphics (SVG) 2 # 接口 SVGLength | 
浏览器兼容性
加载中…