繁体   English   中英

Javascript:比较具有不确定单位的不同CSS绝对长度和大小值的最佳方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM