简体   繁体   English

使用 JavaScript 获取 flexbox 元素之间的空间

[英]Get space between flexbox elements with JavaScript

是否可以使用 JavaScript 在 flexbox 中获取使用justify-content: space-between两个元素之间的空间?

It's possible.这是可能的。 Example例子

function calcSpaceBetween(){
  var red_pos = $('#d1').position().left + $('#d1').width();
  var blu_pos = $('#d2').position().left;

  var space = blu_pos - red_pos;

  $('#space').text(space + ' px')
}
  1. Calculate the position of the left one (red) + it's width计算左边一个(红色)的位置+它的宽度

  2. Find the position of the right one (blue)找到正确的位置(蓝色)

  3. (blue.position) - (red) + (red.width)

Pure JavaScript Fiddle .纯 JavaScript小提琴

I made the same function as Mihailo in pure JavaScript.我在纯 JavaScript 中实现了与Mihailo相同的功能。 Thought someone might find it useful.以为有人可能会觉得它有用。 Please note that I'm relatively new to JavaScript so it might not be very well optimized.请注意,我对 JavaScript 比较陌生,所以它可能没有得到很好的优化。

function calcSpaceBetweenJavascript(){
    var red_elem = document.getElementById('d1')
    var blue_elem = document.getElementById('d2')
    var space_elem = document.getElementById('space')

    var red_pos = red_elem.offsetLeft + red_elem.getBoundingClientRect().width;
    var blu_pos = document.getElementById('d2').offsetLeft;

    var space = blu_pos - red_pos;
    space_elem.textContent = space + ' px';
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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