javascript - 如何使用纯 javascript 将 css 边距值转换为像素?

标签 javascript html css

我正在寻找将 html 元素 css 边距值转换为绝对像素的最简单和跨浏览器的方法。例如说边距是“自动”。 我不能使用任何 js 框架。

最佳答案

您想使用 window.getComputedStyle 方法:

var style = window.getComputedStyle(element, null);
// style.marginLeft

这是一个工作演示:http://jsfiddle.net/VxccZ/

更新

对于 IE 8 及更早版本(不支持此方法),请使用元素的 currentStyle 属性:

var style = element.currentStyle;
// style.marginLeft

总结:

var getMarginLeft = function (element) {
  var style;
  if (window.getComputedStyle) { style = window.getComputedStyle(element, null); }
  else { style = element.currentStyle; }

  return style.marginLeft;
};

我不是 100% 确定 currentStyle 具有 margin: auto 的数值。你将不得不自己尝试。我自己无法在 Mac 上执行此操作。

关于javascript - 如何使用纯 javascript 将 css 边距值转换为像素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13308568/

相关文章:

javascript - Ionic,从侧面菜单隐藏和显示元素

javascript - 创建一个对象一次然后重用它会导致“对象不是函数”错误

html - 调整文本框的宽度并使移动响应

html - 在 div 中定位图像网格

javascript - CSS 和 JavaScript 都没有使用 codeigniter 在移动 View 中加载?

javascript - 将 JavaScript 变量传递给外部 CSS 文件

javascript - 使用 jquery 时抑制 anchor 标记 <a> href

javascript - 代码在 jsfiddle 中有效,但在我的应用程序中无效

javascript - 如何将 "k%C3%B6nnen"转换为 können"

jquery - 无法显示迷你图的jquery