编辑:我已经将代码(在下面和小提琴中)简化为需要解决的主要问题,以期创造更多的可读性。
我已经实现了 Bader 的解决方案,以正确使用getBoundingClientRect
value 并使用来获取函数所需document.querySelector
的类名和标签。html
我现在想转到以 . 开头的代码的最后五行var = style
。
我现在已经更正了最后两个变量的数学运算。
→ 我正在尝试实现创建一个捕捉功能,以便与基线网格 Sass 插件Plumber一起使用。
基本上,我有一个垂直居中的弹性项目,它需要——而不是完全居中——向上对齐最近的网格线。这将使我能够在基于移动设备的自定义体验中在幻灯片之间保持一致的垂直节奏。
我getBoundingClientRect
用来计算对象底部和窗口顶部之间的距离。
然后我用Math.floor
四舍五入到我的 rem 值的最接近的倍数。
然后我使用这个新值在 flex-centered 容器上创建一个 CSS 底部边距,用于对齐修复。
$(document).ready
(然后完成,我想在窗口调整大小时加载这个函数。)
function() {
var box = document.querySelector('.box-1');
var rect = box.getBoundingClientRect();
var bottomOrig = rect.bottom;
var htmlRoot = document.querySelector('html');
var style = getComputedStyle(htmlRoot);
var remValue = style.getPropertyValue('font-size');
var bottomNew = Math.floor(bottomOrig / remValue) * remValue;
var fix = bottomOrig - bottomNew;
$('.container-2').css("margin-bottom", "fix + 'px'");
}
我很可能在这里遇到语法问题,非常感谢帮助。
谢谢!