首页 > 解决方案 > 当两者都具有绝对位置时,在父 div 中居中 div

问题描述

我使用 JS 动态生成我的组件,对父级和子级都使用 position: absolute,因为这可以得到我想要的位置。

但是,我见过的在 div 中将 div 居中的每个解决方案都需要一个相对的位置,有没有办法解决这个问题?

任何帮助表示赞赏。

标签: javascriptcss

解决方案


从两个div开始:

<div id="div1">
  div 1
  <div id="div2">
    div 2
  </div>
</div>

用jQuery:

let offset = $('#div1').width() / 2 - $('#div2').width() / 2;
$('#div2').css('left', parseInt(offset) + 'px');

没有jQuery:

let offset = (document.getElementById("div1").clientWidth / 2) - (document.getElementById("div2").clientWidth / 2);
document.getElementById("div2").style.left = parseInt(offset) + 'px';

推荐阅读