[英]Javascript: What's the best way to compare different CSS absolute length and size value with uncertain unit?
我遇到了需要比较<p>
的indentation(marginLeft)值的情况。
有什么比较通用的方法吗?
a="10px"
b="10pt"
c="calc( 20pt - 10px ) "
d="1cm"
e="1in"
我想要一些运算符e>d>c>b>a
,现在我只能使用parseInt
,并且必须确保每个marginLeft都使用pt
单位。
ps calc
可能太难了,没有必要。
pps是否有任何库可以比较相对长度?
ppps如何计算某个单位的数值差?
您可以使用window.getComputedStyle()
方法来执行此操作。
即使通过CSS设置了样式,这也可以返回元素的当前样式(如果通过CSS设置,则element.style.marginLeft
不会返回样式)。
您可以像这样使用它:
var element = document.getElementById("myElement");
var margin = window.getComputedStyle(element).getPropertyValue('margin-left');
这将始终返回以像素为单位的值,从而使其易于比较。
请注意,尽管此方法是非标准的,并且可能不适用于某些浏览器。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.