使用JavaScript获取flexbox元素之间的空间
在使用JavaScript的flexbox中,是否有可能获得两个使用使用JavaScript获取flexbox元素之间的空间,javascript,css,flexbox,Javascript,Css,Flexbox,在使用JavaScript的flexbox中,是否有可能获得两个使用调整内容的元素之间的空间:在之间的空间?这是可能的 计算左一个的位置(红色)+它的宽度 找到正确的位置(蓝色) (蓝色.位置)-(红色)+(红色.宽度) 纯JavaScript 我使用了与纯JavaScript相同的函数。我想有人会觉得有用。请注意,我对JavaScript比较陌生,所以它可能没有得到很好的优化 function calcSpaceBetweenJavascript(){ var red_elem = d
调整内容的元素之间的空间:在之间的空间?这是可能的
计算左一个的位置(红色)+它的宽度
找到正确的位置(蓝色)
(蓝色.位置)-(红色)+(红色.宽度)
纯JavaScript
我使用了与纯JavaScript相同的函数。我想有人会觉得有用。请注意,我对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';
}
给它们加边距?@Pete我想他想要它们之间的像素数。javascript可以做任何事情@Mihailo这是一个非常糟糕的问题,所以它可能意味着什么,但在你的例子中,我会测试2个左偏移,然后减去左偏移的宽度-(右元素偏移-(左元素偏移+左元素宽度))嗯,问题是,考虑到这一点:我想让第二个列表的框与第一个列表对齐。单独使用flexbox需要添加虚拟元素,并使用visibility:hidden
切换到不可见。第二个想法是计算间距,并将其用作边距。
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';
}